kailash 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kailash-0.3.1/src/kailash.egg-info → kailash-0.3.2}/PKG-INFO +1 -1
- {kailash-0.3.1 → kailash-0.3.2}/pyproject.toml +1 -1
- {kailash-0.3.1 → kailash-0.3.2}/setup.py +1 -1
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/__init__.py +1 -1
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/code/python.py +10 -2
- {kailash-0.3.1 → kailash-0.3.2/src/kailash.egg-info}/PKG-INFO +1 -1
- {kailash-0.3.1 → kailash-0.3.2}/LICENSE +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/MANIFEST.in +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/README.md +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/setup.cfg +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/__main__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/access_control.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/__main__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/auth.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/custom_nodes.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/custom_nodes_secure.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/database.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/gateway.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/mcp_integration.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/studio.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/studio_secure.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/api/workflow_api.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/cli/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/cli/commands.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/manifest.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/__main__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/ai_registry_server.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/client.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/client_new.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/server.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/server_enhanced.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/server_new.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/servers/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/servers/ai_registry.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/utils/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/utils/cache.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/utils/config.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/utils/formatters.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/mcp/utils/metrics.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/a2a.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/agents.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/ai_providers.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/embedding_generator.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/intelligent_agent_orchestrator.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/iterative_llm_agent.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/llm_agent.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/models.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/ai/self_organizing.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/auth.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/graphql.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/http.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/monitoring.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/rate_limiting.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/rest.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/api/security.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/base.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/base_async.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/base_cycle_aware.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/base_with_acl.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/code/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/directory.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/event_generation.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/file_discovery.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/readers.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/retrieval.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/sharepoint_graph.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/sources.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/sql.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/streaming.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/vector_db.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/data/writers.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/logic/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/logic/async_operations.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/logic/convergence.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/logic/loop.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/logic/operations.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/logic/workflow.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/mixins/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/mixins/mcp.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/mixins.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/transform/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/transform/chunkers.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/transform/formatters.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/nodes/transform/processors.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/access_controlled.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/async_local.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/docker.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/local.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/parallel.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/parallel_cyclic.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/runner.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/runtime/testing.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/sdk_exceptions.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/security.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/manager.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/metrics_collector.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/models.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/storage/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/storage/base.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/storage/database.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/tracking/storage/filesystem.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/utils/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/utils/export.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/utils/templates.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/visualization/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/visualization/api.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/visualization/dashboard.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/visualization/performance.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/visualization/reports.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/__init__.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/builder.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/convergence.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_analyzer.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_builder.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_config.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_debugger.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_exceptions.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_profiler.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cycle_state.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/cyclic_runner.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/graph.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/mermaid_visualizer.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/migration.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/mock_registry.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/runner.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/safety.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/state.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/templates.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/validation.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash/workflow/visualization.py +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash.egg-info/SOURCES.txt +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash.egg-info/dependency_links.txt +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash.egg-info/entry_points.txt +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash.egg-info/not-zip-safe +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash.egg-info/requires.txt +0 -0
- {kailash-0.3.1 → kailash-0.3.2}/src/kailash.egg-info/top_level.txt +0 -0
@@ -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.3.
|
16
|
+
version="0.3.0",
|
17
17
|
author="Integrum",
|
18
18
|
author_email="info@integrum.com",
|
19
19
|
description="Python SDK for the Kailash container-node architecture",
|
@@ -451,9 +451,13 @@ class FunctionWrapper:
|
|
451
451
|
"""Execute the wrapped function."""
|
452
452
|
result = self.executor.execute_function(self.func, inputs)
|
453
453
|
|
454
|
-
#
|
454
|
+
# Always wrap results in "result" key for consistent validation
|
455
|
+
# This ensures both dict and non-dict returns have the same structure
|
455
456
|
if not isinstance(result, dict):
|
456
457
|
result = {"result": result}
|
458
|
+
else:
|
459
|
+
# For dict results, wrap the entire dict in "result" key
|
460
|
+
result = {"result": result}
|
457
461
|
|
458
462
|
return result
|
459
463
|
|
@@ -604,9 +608,13 @@ class ClassWrapper:
|
|
604
608
|
# Execute the method
|
605
609
|
result = self.executor.execute_function(method, inputs)
|
606
610
|
|
607
|
-
#
|
611
|
+
# Always wrap results in "result" key for consistent validation
|
612
|
+
# This ensures both dict and non-dict returns have the same structure
|
608
613
|
if not isinstance(result, dict):
|
609
614
|
result = {"result": result}
|
615
|
+
else:
|
616
|
+
# For dict results, wrap the entire dict in "result" key
|
617
|
+
result = {"result": result}
|
610
618
|
|
611
619
|
return result
|
612
620
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|