soprano-sdk 0.2.9__py3-none-any.whl → 0.2.11__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.
@@ -157,10 +157,10 @@ class CollectInputStrategy(ActionStrategy):
157
157
 
158
158
  prompt = self._generate_prompt(agent, conversation, state)
159
159
 
160
- user_input = interrupt(prompt)
161
-
162
- conversation.append({"role": "user", "content": user_input})
163
- span.add_event("user.input_received", {"input_length": len(user_input)})
160
+ if prompt is not None:
161
+ user_input = interrupt(prompt)
162
+ conversation.append({"role": "user", "content": user_input})
163
+ span.add_event("user.input_received", {"input_length": len(user_input)})
164
164
 
165
165
  with trace_agent_invocation(
166
166
  agent_name=self.agent_config.get('name', self.field),
@@ -377,12 +377,14 @@ class CollectInputStrategy(ActionStrategy):
377
377
  response_dict = json.loads(agent_response) if isinstance(agent_response, str) else agent_response
378
378
  prompt = response_dict.get("bot_response", "")
379
379
  except (json.JSONDecodeError, TypeError, ValueError) as e:
380
- prompt = ""
380
+ logger.error(f"Error When Converting Structured Output {agent_response} to JSON {e}")
381
+ prompt = agent_response
381
382
  else:
382
383
  prompt = agent_response
383
384
 
384
- prompt = self._render_template_string(prompt, state)
385
- 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})
386
388
 
387
389
  return prompt
388
390
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soprano-sdk
3
- Version: 0.2.9
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
@@ -16,7 +16,7 @@ soprano_sdk/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
16
16
  soprano_sdk/nodes/async_function.py,sha256=v6WujLKm8NXX2iAkJ7Gz_QIVCtWFrpC6nnPyyfuCxXs,9354
17
17
  soprano_sdk/nodes/base.py,sha256=idFyOGGPnjsASYnrOF_NIh7eFcSuJqw61EoVN_WCTaU,2360
18
18
  soprano_sdk/nodes/call_function.py,sha256=afYBmj5Aditbkvb_7gD3CsXBEEUohcsC1_cdHfcOunE,5847
19
- soprano_sdk/nodes/collect_input.py,sha256=X82iNonxXruih_STdIvRGfUKKT5-szlRyLwU5mZq-_4,24181
19
+ soprano_sdk/nodes/collect_input.py,sha256=Hxf9asv4-5Su5FLewzEajUjtYqzadwETnktAVaTKwZc,24384
20
20
  soprano_sdk/nodes/factory.py,sha256=IbBzT4FKBnYw5PuSo7uDONV3HSFtoyqjBQQtXtUY2IY,1756
21
21
  soprano_sdk/routing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  soprano_sdk/routing/router.py,sha256=Z218r4BMbmlL9282ombutAoKsIs1WHZ2d5YHnbCeet8,3698
@@ -29,7 +29,7 @@ soprano_sdk/utils/tracing.py,sha256=gSHeBDLe-MbAZ9rkzpCoGFveeMdR9KLaA6tteB0IWjk,
29
29
  soprano_sdk/validation/__init__.py,sha256=ImChmO86jYHU90xzTttto2-LmOUOmvY_ibOQaLRz5BA,262
30
30
  soprano_sdk/validation/schema.py,sha256=SlC4sq-ueEg0p_8Uox_cgPj9S-0AEEiOOlA1Vsu0DsE,15443
31
31
  soprano_sdk/validation/validator.py,sha256=GaCvHvjwVe88Z8yatQsueiPnqtq1oo5uN75gogzpQT0,8940
32
- soprano_sdk-0.2.9.dist-info/METADATA,sha256=hpcEeuat6Tb7Xe4SBT8Hfg98PRW6CUA7d8dzhdH7m-M,11297
33
- soprano_sdk-0.2.9.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
34
- soprano_sdk-0.2.9.dist-info/licenses/LICENSE,sha256=A1aBauSjPNtVehOXJe3WuvdU2xvM9H8XmigFMm6665s,1073
35
- soprano_sdk-0.2.9.dist-info/RECORD,,
32
+ soprano_sdk-0.2.11.dist-info/METADATA,sha256=5YwqTD9lTaDhDwqNWEfH4UXJOPdpXEPZYI12QjC6NHs,11298
33
+ soprano_sdk-0.2.11.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
34
+ soprano_sdk-0.2.11.dist-info/licenses/LICENSE,sha256=A1aBauSjPNtVehOXJe3WuvdU2xvM9H8XmigFMm6665s,1073
35
+ soprano_sdk-0.2.11.dist-info/RECORD,,