soe-ai 0.2.0b1__tar.gz → 0.2.0b2__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 (153) hide show
  1. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/PKG-INFO +2 -2
  2. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/pyproject.toml +2 -2
  3. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_update_context.py +5 -2
  4. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/index.md +3 -1
  5. soe_ai-0.2.0b2/soe/docs_index.py +2 -0
  6. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe_ai.egg-info/PKG-INFO +2 -2
  7. soe_ai-0.2.0b1/soe/docs_index.py +0 -2
  8. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/LICENSE +0 -0
  9. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/README.md +0 -0
  10. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/setup.cfg +0 -0
  11. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/__init__.py +0 -0
  12. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/broker.py +0 -0
  13. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/__init__.py +0 -0
  14. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_add_signal.py +0 -0
  15. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_call_tool.py +0 -0
  16. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_copy_context.py +0 -0
  17. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_explore_docs.py +0 -0
  18. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_get_available_tools.py +0 -0
  19. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_get_context.py +0 -0
  20. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_get_context_schema.py +0 -0
  21. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_get_identities.py +0 -0
  22. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_get_workflows.py +0 -0
  23. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_inject_context_schema_field.py +0 -0
  24. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_inject_identity.py +0 -0
  25. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_inject_node.py +0 -0
  26. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_inject_workflow.py +0 -0
  27. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_list_contexts.py +0 -0
  28. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_remove_context_schema_field.py +0 -0
  29. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_remove_identity.py +0 -0
  30. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_remove_node.py +0 -0
  31. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/builtin_tools/soe_remove_workflow.py +0 -0
  32. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/_config.yml +0 -0
  33. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/guide_fanout_and_aggregations.md +0 -0
  34. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/guide_inheritance.md +0 -0
  35. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/hybrid_intelligence.md +0 -0
  36. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/index.md +0 -0
  37. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/operational.md +0 -0
  38. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/self_evolving_workflows.md +0 -0
  39. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/advanced_patterns/swarm_intelligence.md +0 -0
  40. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/builtins/context.md +0 -0
  41. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/builtins/context_schema.md +0 -0
  42. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/builtins/identity.md +0 -0
  43. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/builtins/soe_explore_docs.md +0 -0
  44. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/builtins/tools.md +0 -0
  45. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/builtins/workflows.md +0 -0
  46. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_00_getting_started.md +0 -0
  47. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_01_tool.md +0 -0
  48. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_02_llm.md +0 -0
  49. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_03_router.md +0 -0
  50. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_04_patterns.md +0 -0
  51. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_05_agent.md +0 -0
  52. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_06_schema.md +0 -0
  53. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_07_identity.md +0 -0
  54. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_08_child.md +0 -0
  55. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_09_ecosystem.md +0 -0
  56. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_10_infrastructure.md +0 -0
  57. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/guide_11_builtins.md +0 -0
  58. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/primitives/backends.md +0 -0
  59. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/primitives/context.md +0 -0
  60. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/primitives/node_reference.md +0 -0
  61. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/primitives/primitives.md +0 -0
  62. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/docs/primitives/signals.md +0 -0
  63. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/init.py +0 -0
  64. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/__init__.py +0 -0
  65. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/child_context.py +0 -0
  66. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/context_fields.py +0 -0
  67. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/inheritance.py +0 -0
  68. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/jinja_render.py +0 -0
  69. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/operational.py +0 -0
  70. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/parent_sync.py +0 -0
  71. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/register_event.py +0 -0
  72. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/schema_validation.py +0 -0
  73. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/lib/yaml_parser.py +0 -0
  74. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/__init__.py +0 -0
  75. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/factory.py +0 -0
  76. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/in_memory/context.py +0 -0
  77. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/in_memory/conversation_history.py +0 -0
  78. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/in_memory/identity.py +0 -0
  79. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/in_memory/schema.py +0 -0
  80. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/in_memory/telemetry.py +0 -0
  81. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/in_memory/workflow.py +0 -0
  82. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/storage/context.py +0 -0
  83. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/storage/conversation_history.py +0 -0
  84. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/storage/identity.py +0 -0
  85. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/storage/schema.py +0 -0
  86. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/storage/telemetry.py +0 -0
  87. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/local_backends/storage/workflow.py +0 -0
  88. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/__init__.py +0 -0
  89. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/__init__.py +0 -0
  90. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/factory.py +0 -0
  91. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/lib/loop_handlers.py +0 -0
  92. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/lib/loop_state.py +0 -0
  93. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/lib/prompts.py +0 -0
  94. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/lib/tools.py +0 -0
  95. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/stages/__init__.py +0 -0
  96. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/stages/parameter.py +0 -0
  97. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/stages/response.py +0 -0
  98. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/stages/router.py +0 -0
  99. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/state.py +0 -0
  100. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/types.py +0 -0
  101. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/validation/__init__.py +0 -0
  102. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/validation/config.py +0 -0
  103. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/agent/validation/operational.py +0 -0
  104. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/child/__init__.py +0 -0
  105. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/child/factory.py +0 -0
  106. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/child/state.py +0 -0
  107. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/child/validation/__init__.py +0 -0
  108. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/child/validation/config.py +0 -0
  109. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/child/validation/operational.py +0 -0
  110. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/conditions.py +0 -0
  111. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/context.py +0 -0
  112. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/conversation_history.py +0 -0
  113. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/identity.py +0 -0
  114. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/llm_resolver.py +0 -0
  115. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/output.py +0 -0
  116. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/response_builder.py +0 -0
  117. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/signal_emission.py +0 -0
  118. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/signals.py +0 -0
  119. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/lib/tools.py +0 -0
  120. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/__init__.py +0 -0
  121. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/factory.py +0 -0
  122. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/state.py +0 -0
  123. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/types.py +0 -0
  124. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/validation/__init__.py +0 -0
  125. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/validation/config.py +0 -0
  126. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/llm/validation/operational.py +0 -0
  127. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/router/__init__.py +0 -0
  128. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/router/factory.py +0 -0
  129. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/router/state.py +0 -0
  130. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/router/validation/__init__.py +0 -0
  131. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/router/validation/config.py +0 -0
  132. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/router/validation/operational.py +0 -0
  133. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/factory.py +0 -0
  134. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/lib/__init__.py +0 -0
  135. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/lib/conditions.py +0 -0
  136. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/lib/failure.py +0 -0
  137. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/lib/parameters.py +0 -0
  138. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/state.py +0 -0
  139. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/types.py +0 -0
  140. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/validation/__init__.py +0 -0
  141. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/validation/config.py +0 -0
  142. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/nodes/tool/validation/operational.py +0 -0
  143. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/types.py +0 -0
  144. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/validation/__init__.py +0 -0
  145. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/validation/config.py +0 -0
  146. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/validation/jinja.py +0 -0
  147. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe/validation/operational.py +0 -0
  148. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe_ai.egg-info/SOURCES.txt +0 -0
  149. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe_ai.egg-info/dependency_links.txt +0 -0
  150. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe_ai.egg-info/requires.txt +0 -0
  151. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/soe_ai.egg-info/top_level.txt +0 -0
  152. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/tests/test_local_storage_backends.py +0 -0
  153. {soe_ai-0.2.0b1 → soe_ai-0.2.0b2}/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.2.0b1
3
+ Version: 0.2.0b2
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
@@ -9,7 +9,7 @@ Project-URL: Documentation, https://github.com/pgarcia14180/soe/tree/master/docs
9
9
  Project-URL: Repository, https://github.com/pgarcia14180/soe
10
10
  Project-URL: Issues, https://github.com/pgarcia14180/soe/issues
11
11
  Keywords: orchestration,agent,workflow,automation
12
- Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.8
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "soe-ai"
7
- version = "0.2.0b1"
7
+ version = "0.2.0b2"
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"
@@ -14,7 +14,7 @@ authors = [
14
14
  ]
15
15
  keywords = ["orchestration", "agent", "workflow", "automation"]
16
16
  classifiers = [
17
- "Development Status :: 3 - Alpha",
17
+ "Development Status :: 4 - Beta",
18
18
  "Intended Audience :: Developers",
19
19
  "Programming Language :: Python :: 3",
20
20
  "Programming Language :: Python :: 3.8",
@@ -5,6 +5,8 @@ Allows agents to write context fields dynamically.
5
5
 
6
6
  from typing import Any, Dict
7
7
 
8
+ from ..lib.context_fields import set_field
9
+
8
10
 
9
11
  def create_soe_update_context_tool(backends, execution_id: str, tools_registry=None):
10
12
  """
@@ -41,9 +43,10 @@ def create_soe_update_context_tool(backends, execution_id: str, tools_registry=N
41
43
  if not filtered_updates:
42
44
  return {"status": "no valid updates (operational fields cannot be updated)"}
43
45
 
44
- # Get current context and update
46
+ # Get current context and update using set_field for proper list wrapping
45
47
  context = backends.context.get_context(execution_id)
46
- context.update(filtered_updates)
48
+ for field, value in filtered_updates.items():
49
+ set_field(context, field, value)
47
50
  backends.context.save_context(execution_id, context)
48
51
 
49
52
  return {
@@ -81,10 +81,12 @@ Built-in tools enable granular runtime modifications:
81
81
 
82
82
  | Built-in | Description |
83
83
  |----------|-------------|
84
- | [explore_docs](builtins/explore_docs.md) | Make SOE self-aware by exploring its documentation |
84
+ | [soe_explore_docs](builtins/soe_explore_docs.md) | Make SOE self-aware by exploring its documentation |
85
85
  | [workflows](builtins/workflows.md) | Query, inject, and modify workflows at runtime |
86
86
  | [context](builtins/context.md) | Read, update, and copy execution context |
87
87
  | [tools](builtins/tools.md) | Discover and dynamically call registered tools |
88
+ | [identity](builtins/identity.md) | Query, inject, and remove identity definitions |
89
+ | [context_schema](builtins/context_schema.md) | Query, inject, and remove context schema fields |
88
90
 
89
91
  ---
90
92