soprano-sdk 0.2.10__tar.gz → 0.2.11__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 (105) hide show
  1. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/PKG-INFO +1 -1
  2. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/pyproject.toml +1 -1
  3. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/nodes/collect_input.py +3 -2
  4. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/.github/workflows/test_build_and_publish.yaml +0 -0
  5. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/.gitignore +0 -0
  6. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/.python-version +0 -0
  7. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/CLAUDE.md +0 -0
  8. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/LICENSE +0 -0
  9. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/README.md +0 -0
  10. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/ASYNC_FUNCTIONS_README.md +0 -0
  11. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/concert_booking/__init__.py +0 -0
  12. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/concert_booking/booking_helpers.py +0 -0
  13. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/concert_booking/concert_ticket_booking.yaml +0 -0
  14. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/framework_example.yaml +0 -0
  15. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/greeting_functions.py +0 -0
  16. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/greeting_workflow.yaml +0 -0
  17. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/main.py +0 -0
  18. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/payment_async_functions.py +0 -0
  19. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/payment_async_workflow.yaml +0 -0
  20. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/persistence/README.md +0 -0
  21. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/persistence/conversation_based.py +0 -0
  22. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/persistence/entity_based.py +0 -0
  23. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/persistence/mongodb_demo.py +0 -0
  24. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/return_functions.py +0 -0
  25. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/return_workflow.yaml +0 -0
  26. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/structured_output_example.yaml +0 -0
  27. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/README.md +0 -0
  28. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/crewai_supervisor_ui.py +0 -0
  29. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/langgraph_supervisor_ui.py +0 -0
  30. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/tools/__init__.py +0 -0
  31. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/tools/crewai_tools.py +0 -0
  32. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/tools/langgraph_tools.py +0 -0
  33. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/supervisors/workflow_tools.py +0 -0
  34. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/test_payment_async.py +0 -0
  35. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/tools/__init__.py +0 -0
  36. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/tools/address.py +0 -0
  37. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/examples/validator.py +0 -0
  38. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/langgraph_demo.py +0 -0
  39. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/langgraph_selfloop_demo.py +0 -0
  40. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/langgraph_v.py +0 -0
  41. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/main.py +0 -0
  42. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/return_fsm.excalidraw +0 -0
  43. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/return_state_machine.png +0 -0
  44. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/legacy/ui.py +0 -0
  45. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/scripts/visualize_workflow.py +0 -0
  46. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/scripts/workflow_demo.py +0 -0
  47. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/scripts/workflow_demo_ui.py +0 -0
  48. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/__init__.py +0 -0
  49. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/agents/__init__.py +0 -0
  50. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/agents/adaptor.py +0 -0
  51. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/agents/factory.py +0 -0
  52. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/agents/structured_output.py +0 -0
  53. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/authenticators/__init__.py +0 -0
  54. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/authenticators/mfa.py +0 -0
  55. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/core/__init__.py +0 -0
  56. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/core/constants.py +0 -0
  57. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/core/engine.py +0 -0
  58. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/core/rollback_strategies.py +0 -0
  59. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/core/state.py +0 -0
  60. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/engine.py +0 -0
  61. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/nodes/__init__.py +0 -0
  62. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/nodes/async_function.py +0 -0
  63. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/nodes/base.py +0 -0
  64. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/nodes/call_function.py +0 -0
  65. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/nodes/factory.py +0 -0
  66. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/routing/__init__.py +0 -0
  67. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/routing/router.py +0 -0
  68. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/tools.py +0 -0
  69. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/utils/__init__.py +0 -0
  70. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/utils/function.py +0 -0
  71. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/utils/logger.py +0 -0
  72. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/utils/template.py +0 -0
  73. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/utils/tool.py +0 -0
  74. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/utils/tracing.py +0 -0
  75. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/validation/__init__.py +0 -0
  76. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/validation/schema.py +0 -0
  77. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/soprano_sdk/validation/validator.py +0 -0
  78. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/debug_jinja2.py +0 -0
  79. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_agent_factory.py +0 -0
  80. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_async_function.py +0 -0
  81. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_collect_input_refactor.py +0 -0
  82. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_external_values.py +0 -0
  83. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_inputs_validation.py +0 -0
  84. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_jinja2_path.py +0 -0
  85. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_jinja2_standalone.py +0 -0
  86. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_mfa_scenarios.py +0 -0
  87. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_persistence.py +0 -0
  88. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_structured_output.py +0 -0
  89. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/tests/test_transition_routing.py +0 -0
  90. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/todo.md +0 -0
  91. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/uv.lock +0 -0
  92. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/.eslintrc.cjs +0 -0
  93. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/.gitignore +0 -0
  94. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/README.md +0 -0
  95. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/index.html +0 -0
  96. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/package-lock.json +0 -0
  97. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/package.json +0 -0
  98. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/App.jsx +0 -0
  99. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/CustomNode.jsx +0 -0
  100. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/StepDetailsModal.jsx +0 -0
  101. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/WorkflowGraph.jsx +0 -0
  102. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/WorkflowInfoPanel.jsx +0 -0
  103. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/assets/react.svg +0 -0
  104. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/src/main.jsx +0 -0
  105. {soprano_sdk-0.2.10 → soprano_sdk-0.2.11}/workflow-visualizer/vite.config.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soprano-sdk
3
- Version: 0.2.10
3
+ Version: 0.2.11
4
4
  Summary: YAML-driven workflow engine with AI agent integration for building conversational SOPs
5
5
  Author: Arvind Thangamani
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "soprano-sdk"
7
- version = "0.2.10"
7
+ version = "0.2.11"
8
8
  description = "YAML-driven workflow engine with AI agent integration for building conversational SOPs"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -382,8 +382,9 @@ class CollectInputStrategy(ActionStrategy):
382
382
  else:
383
383
  prompt = agent_response
384
384
 
385
- prompt = self._render_template_string(prompt, state)
386
- conversation.append({"role": "assistant", "content": prompt})
385
+ if prompt is not None:
386
+ prompt = self._render_template_string(prompt, state)
387
+ conversation.append({"role": "assistant", "content": prompt})
387
388
 
388
389
  return prompt
389
390
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes