soprano-sdk 0.2.21__py3-none-any.whl → 0.2.22__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.
- soprano_sdk/tools.py +16 -1
- {soprano_sdk-0.2.21.dist-info → soprano_sdk-0.2.22.dist-info}/METADATA +1 -1
- {soprano_sdk-0.2.21.dist-info → soprano_sdk-0.2.22.dist-info}/RECORD +5 -5
- {soprano_sdk-0.2.21.dist-info → soprano_sdk-0.2.22.dist-info}/WHEEL +0 -0
- {soprano_sdk-0.2.21.dist-info → soprano_sdk-0.2.22.dist-info}/licenses/LICENSE +0 -0
soprano_sdk/tools.py
CHANGED
|
@@ -169,7 +169,8 @@ class WorkflowTool:
|
|
|
169
169
|
initial_context: Optional[Dict[str, Any]]
|
|
170
170
|
) -> Dict[str, Any]:
|
|
171
171
|
"""
|
|
172
|
-
Filter initial_context to exclude fields that have already been collected
|
|
172
|
+
Filter initial_context to exclude fields that have already been collected
|
|
173
|
+
or are currently being collected.
|
|
173
174
|
|
|
174
175
|
Args:
|
|
175
176
|
current_state: Current workflow state
|
|
@@ -193,6 +194,20 @@ class WorkflowTool:
|
|
|
193
194
|
if executed_node_id in node_to_field_map:
|
|
194
195
|
collected_fields.add(node_to_field_map[executed_node_id])
|
|
195
196
|
|
|
197
|
+
# Also exclude fields that are currently being collected (actively collecting)
|
|
198
|
+
# This prevents initial_context from overriding user input
|
|
199
|
+
current_status = current_state.get(WorkflowKeys.STATUS, "")
|
|
200
|
+
if "collecting" in current_status:
|
|
201
|
+
# Status format: "node_id_collecting" (e.g., "get_name_collecting")
|
|
202
|
+
for node_id, field in node_to_field_map.items():
|
|
203
|
+
if f"{node_id}_collecting" == current_status:
|
|
204
|
+
collected_fields.add(field)
|
|
205
|
+
logger.info(
|
|
206
|
+
f"[WorkflowTool] Field '{field}' is currently being collected. "
|
|
207
|
+
f"Excluding from initial_context to preserve user input."
|
|
208
|
+
)
|
|
209
|
+
break
|
|
210
|
+
|
|
196
211
|
# Filter initial_context to exclude already-collected fields
|
|
197
212
|
filtered_context = {
|
|
198
213
|
field: value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
soprano_sdk/__init__.py,sha256=YZVl_SwQ0C-E_5_f1AwUe_hPcbgCt8k7k4_WAHM8vjE,243
|
|
2
2
|
soprano_sdk/engine.py,sha256=EFK91iTHjp72otLN6Kg-yeLye2J3CAKN0QH4FI2taL8,14838
|
|
3
|
-
soprano_sdk/tools.py,sha256=
|
|
3
|
+
soprano_sdk/tools.py,sha256=8SdORsy2jdG3OL_dU3Mc7yEwYK1FRTWuJZtsnZmqctw,14463
|
|
4
4
|
soprano_sdk/agents/__init__.py,sha256=Yzbtv6iP_ABRgZo0IUjy9vDofEvLFbOjuABw758176A,636
|
|
5
5
|
soprano_sdk/agents/adaptor.py,sha256=5y9e2F_ZILOPrkunvv0GhjVdniAnOOTaD4j3Ig-xd3c,5041
|
|
6
6
|
soprano_sdk/agents/factory.py,sha256=CvXhpvtjf_Hb4Ce8WKAa0FzyY5Jm6lssvIIfSXu7jPY,9788
|
|
@@ -30,7 +30,7 @@ soprano_sdk/utils/tracing.py,sha256=gSHeBDLe-MbAZ9rkzpCoGFveeMdR9KLaA6tteB0IWjk,
|
|
|
30
30
|
soprano_sdk/validation/__init__.py,sha256=ImChmO86jYHU90xzTttto2-LmOUOmvY_ibOQaLRz5BA,262
|
|
31
31
|
soprano_sdk/validation/schema.py,sha256=NGnxP3TKcB-cylVcdOkxYhTPBbHnbmKTG_EamfA1VdY,17682
|
|
32
32
|
soprano_sdk/validation/validator.py,sha256=f-e2MMRL70asOIXr_0Fsd5CgGKVRiQp7AaYsHA45Km0,8792
|
|
33
|
-
soprano_sdk-0.2.
|
|
34
|
-
soprano_sdk-0.2.
|
|
35
|
-
soprano_sdk-0.2.
|
|
36
|
-
soprano_sdk-0.2.
|
|
33
|
+
soprano_sdk-0.2.22.dist-info/METADATA,sha256=_D5cUQSQUT4e6uH3UYIfsMCFimVN_dmcy6fy4alJyhQ,20410
|
|
34
|
+
soprano_sdk-0.2.22.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
35
|
+
soprano_sdk-0.2.22.dist-info/licenses/LICENSE,sha256=A1aBauSjPNtVehOXJe3WuvdU2xvM9H8XmigFMm6665s,1073
|
|
36
|
+
soprano_sdk-0.2.22.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|