soe-ai 0.1.2__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. {soe_ai-0.1.2 → soe_ai-0.1.3}/PKG-INFO +2 -2
  2. {soe_ai-0.1.2 → soe_ai-0.1.3}/pyproject.toml +2 -2
  3. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/response_builder.py +2 -2
  4. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe_ai.egg-info/PKG-INFO +2 -2
  5. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe_ai.egg-info/requires.txt +1 -1
  6. {soe_ai-0.1.2 → soe_ai-0.1.3}/LICENSE +0 -0
  7. {soe_ai-0.1.2 → soe_ai-0.1.3}/README.md +0 -0
  8. {soe_ai-0.1.2 → soe_ai-0.1.3}/setup.cfg +0 -0
  9. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/__init__.py +0 -0
  10. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/broker.py +0 -0
  11. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/__init__.py +0 -0
  12. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_add_signal.py +0 -0
  13. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_call_tool.py +0 -0
  14. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_copy_context.py +0 -0
  15. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_explore_docs.py +0 -0
  16. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_get_available_tools.py +0 -0
  17. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_get_context.py +0 -0
  18. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_get_workflows.py +0 -0
  19. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_inject_node.py +0 -0
  20. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_inject_workflow.py +0 -0
  21. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_list_contexts.py +0 -0
  22. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_remove_node.py +0 -0
  23. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_remove_workflow.py +0 -0
  24. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/builtin_tools/soe_update_context.py +0 -0
  25. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/_config.yml +0 -0
  26. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/guide_fanout_and_aggregations.md +0 -0
  27. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/guide_inheritance.md +0 -0
  28. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/hybrid_intelligence.md +0 -0
  29. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/index.md +0 -0
  30. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/operational.md +0 -0
  31. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/self_evolving_workflows.md +0 -0
  32. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/advanced_patterns/swarm_intelligence.md +0 -0
  33. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/builtins/context.md +0 -0
  34. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/builtins/explore_docs.md +0 -0
  35. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/builtins/tools.md +0 -0
  36. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/builtins/workflows.md +0 -0
  37. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_00_getting_started.md +0 -0
  38. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_01_tool.md +0 -0
  39. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_02_llm.md +0 -0
  40. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_03_router.md +0 -0
  41. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_04_patterns.md +0 -0
  42. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_05_agent.md +0 -0
  43. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_06_schema.md +0 -0
  44. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_07_identity.md +0 -0
  45. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_08_child.md +0 -0
  46. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_09_ecosystem.md +0 -0
  47. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_10_infrastructure.md +0 -0
  48. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/guide_11_builtins.md +0 -0
  49. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/index.md +0 -0
  50. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/primitives/backends.md +0 -0
  51. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/primitives/context.md +0 -0
  52. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/primitives/node_reference.md +0 -0
  53. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/primitives/primitives.md +0 -0
  54. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs/primitives/signals.md +0 -0
  55. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/docs_index.py +0 -0
  56. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/init.py +0 -0
  57. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/__init__.py +0 -0
  58. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/child_context.py +0 -0
  59. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/context_fields.py +0 -0
  60. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/inheritance.py +0 -0
  61. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/jinja_render.py +0 -0
  62. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/operational.py +0 -0
  63. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/parent_sync.py +0 -0
  64. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/register_event.py +0 -0
  65. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/schema_validation.py +0 -0
  66. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/lib/yaml_parser.py +0 -0
  67. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/__init__.py +0 -0
  68. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/factory.py +0 -0
  69. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/in_memory/context.py +0 -0
  70. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/in_memory/conversation_history.py +0 -0
  71. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/in_memory/identity.py +0 -0
  72. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/in_memory/schema.py +0 -0
  73. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/in_memory/telemetry.py +0 -0
  74. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/in_memory/workflow.py +0 -0
  75. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/storage/context.py +0 -0
  76. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/storage/conversation_history.py +0 -0
  77. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/storage/identity.py +0 -0
  78. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/storage/schema.py +0 -0
  79. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/storage/telemetry.py +0 -0
  80. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/local_backends/storage/workflow.py +0 -0
  81. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/__init__.py +0 -0
  82. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/__init__.py +0 -0
  83. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/factory.py +0 -0
  84. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/lib/loop_handlers.py +0 -0
  85. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/lib/loop_state.py +0 -0
  86. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/lib/prompts.py +0 -0
  87. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/lib/tools.py +0 -0
  88. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/stages/__init__.py +0 -0
  89. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/stages/parameter.py +0 -0
  90. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/stages/response.py +0 -0
  91. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/stages/router.py +0 -0
  92. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/state.py +0 -0
  93. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/types.py +0 -0
  94. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/validation/__init__.py +0 -0
  95. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/validation/config.py +0 -0
  96. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/agent/validation/operational.py +0 -0
  97. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/child/__init__.py +0 -0
  98. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/child/factory.py +0 -0
  99. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/child/state.py +0 -0
  100. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/child/validation/__init__.py +0 -0
  101. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/child/validation/config.py +0 -0
  102. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/child/validation/operational.py +0 -0
  103. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/conditions.py +0 -0
  104. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/context.py +0 -0
  105. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/conversation_history.py +0 -0
  106. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/identity.py +0 -0
  107. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/llm_resolver.py +0 -0
  108. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/output.py +0 -0
  109. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/signal_emission.py +0 -0
  110. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/signals.py +0 -0
  111. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/lib/tools.py +0 -0
  112. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/__init__.py +0 -0
  113. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/factory.py +0 -0
  114. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/state.py +0 -0
  115. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/types.py +0 -0
  116. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/validation/__init__.py +0 -0
  117. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/validation/config.py +0 -0
  118. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/llm/validation/operational.py +0 -0
  119. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/router/__init__.py +0 -0
  120. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/router/factory.py +0 -0
  121. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/router/state.py +0 -0
  122. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/router/validation/__init__.py +0 -0
  123. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/router/validation/config.py +0 -0
  124. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/router/validation/operational.py +0 -0
  125. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/factory.py +0 -0
  126. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/lib/__init__.py +0 -0
  127. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/lib/conditions.py +0 -0
  128. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/lib/failure.py +0 -0
  129. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/lib/parameters.py +0 -0
  130. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/state.py +0 -0
  131. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/types.py +0 -0
  132. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/validation/__init__.py +0 -0
  133. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/validation/config.py +0 -0
  134. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/nodes/tool/validation/operational.py +0 -0
  135. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/types.py +0 -0
  136. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/validation/__init__.py +0 -0
  137. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/validation/config.py +0 -0
  138. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/validation/jinja.py +0 -0
  139. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe/validation/operational.py +0 -0
  140. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe_ai.egg-info/SOURCES.txt +0 -0
  141. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe_ai.egg-info/dependency_links.txt +0 -0
  142. {soe_ai-0.1.2 → soe_ai-0.1.3}/soe_ai.egg-info/top_level.txt +0 -0
  143. {soe_ai-0.1.2 → soe_ai-0.1.3}/tests/test_local_storage_backends.py +0 -0
  144. {soe_ai-0.1.2 → soe_ai-0.1.3}/tests/test_validation_errors.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soe-ai
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Signal-driven Orchestration Engine - Agent orchestration with event-driven workflow engine
5
5
  Author-email: Pedro Garcia <pgarcia14180@gmail.com>
6
6
  License-Expression: MIT
@@ -22,7 +22,7 @@ Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  Requires-Dist: pyyaml>=6.0
24
24
  Requires-Dist: pydantic>=2.0.0
25
- Requires-Dist: jinja2>=3.0.0
25
+ Requires-Dist: jinja2>=2.11.3
26
26
  Provides-Extra: dev
27
27
  Requires-Dist: pytest>=7.0; extra == "dev"
28
28
  Requires-Dist: pytest-cov>=4.0; extra == "dev"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "soe-ai"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  description = "Signal-driven Orchestration Engine - Agent orchestration with event-driven workflow engine"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -27,7 +27,7 @@ classifiers = [
27
27
  dependencies = [
28
28
  "pyyaml>=6.0",
29
29
  "pydantic>=2.0.0",
30
- "jinja2>=3.0.0",
30
+ "jinja2>=2.11.3",
31
31
  ]
32
32
 
33
33
  [project.optional-dependencies]
@@ -18,8 +18,8 @@ def build_response_model(
18
18
 
19
19
  root_schema = None
20
20
  if output_schema and isinstance(output_schema, type) and issubclass(output_schema, RootModel):
21
- # Only return RootModel directly if no output_field is requested AND no signal selection needed
22
- if not output_field and (not signal_options or len(signal_options) <= 1):
21
+ # Use RootModel directly if no signal selection is needed (standard case for single output)
22
+ if not signal_options or len(signal_options) <= 1:
23
23
  return output_schema
24
24
  root_schema = output_schema
25
25
  if output_field:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soe-ai
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Signal-driven Orchestration Engine - Agent orchestration with event-driven workflow engine
5
5
  Author-email: Pedro Garcia <pgarcia14180@gmail.com>
6
6
  License-Expression: MIT
@@ -22,7 +22,7 @@ Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  Requires-Dist: pyyaml>=6.0
24
24
  Requires-Dist: pydantic>=2.0.0
25
- Requires-Dist: jinja2>=3.0.0
25
+ Requires-Dist: jinja2>=2.11.3
26
26
  Provides-Extra: dev
27
27
  Requires-Dist: pytest>=7.0; extra == "dev"
28
28
  Requires-Dist: pytest-cov>=4.0; extra == "dev"
@@ -1,6 +1,6 @@
1
1
  pyyaml>=6.0
2
2
  pydantic>=2.0.0
3
- jinja2>=3.0.0
3
+ jinja2>=2.11.3
4
4
 
5
5
  [dev]
6
6
  pytest>=7.0
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