grasp_agents 0.4.2__py3-none-any.whl → 0.4.4__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.
grasp_agents/llm.py CHANGED
@@ -106,7 +106,9 @@ class LLM(ABC, Generic[SettingsT_co, ConvertT_co]):
106
106
  for message in completion.messages:
107
107
  if not message.tool_calls:
108
108
  validate_obj_from_json_or_py_string(
109
- message.content or "", adapter=self._response_format_adapter
109
+ message.content or "",
110
+ adapter=self._response_format_adapter,
111
+ from_substring=True,
110
112
  )
111
113
 
112
114
  def _validate_tool_calls(self, completion: Completion) -> None:
grasp_agents/llm_agent.py CHANGED
@@ -221,7 +221,7 @@ class LLMAgent(
221
221
  return validate_obj_from_json_or_py_string(
222
222
  str(conversation[-1].content or ""),
223
223
  adapter=self._out_type_adapter,
224
- from_substring=False,
224
+ from_substring=True,
225
225
  )
226
226
 
227
227
  async def _process(
@@ -434,9 +434,12 @@ class LLMPolicyExecutor(AutoInstanceAttributesMixin, Generic[_FinalAnswerT, CtxT
434
434
 
435
435
  self._manage_memory(memory, ctx=ctx, num_turns=turns)
436
436
 
437
- tool_choice = (
438
- "none" if (self._react_mode and gen_message.tool_calls) else "required"
439
- )
437
+ if self._react_mode and gen_message.tool_calls:
438
+ tool_choice = "none"
439
+ elif gen_message.tool_calls:
440
+ tool_choice = "auto"
441
+ else:
442
+ tool_choice = "required"
440
443
  async for event in self.generate_messages_stream(
441
444
  memory, tool_choice=tool_choice, run_id=run_id, ctx=ctx
442
445
  ):
grasp_agents/processor.py CHANGED
@@ -245,7 +245,9 @@ class Processor(AutoInstanceAttributesMixin, ABC, Generic[InT, OutT_co, MemT, Ct
245
245
  run_id: str | None = None,
246
246
  ctx: RunContext[CtxT] | None = None,
247
247
  ) -> Packet[OutT_co]:
248
- if isinstance(in_args, Sequence):
248
+ if (in_args is not None and isinstance(in_args, Sequence)) or (
249
+ in_packet is not None and len(in_packet.payloads) > 1
250
+ ):
249
251
  return await self._run_par(
250
252
  chat_inputs=chat_inputs,
251
253
  in_packet=in_packet,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: grasp_agents
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: Grasp Agents Library
5
5
  License-File: LICENSE.md
6
6
  Requires-Python: <4,>=3.11.4
@@ -6,15 +6,15 @@ grasp_agents/errors.py,sha256=u-P8NZ3S7THQP5Bjv9SFC_JbHd3CKhX3dTWUObEBzmo,461
6
6
  grasp_agents/generics_utils.py,sha256=5Pw3I9dlnKC2VGqYKC4ZZUO3Z_vTNT-NPFovNfPkl6I,6542
7
7
  grasp_agents/grasp_logging.py,sha256=H1GYhXdQvVkmauFDZ-KDwvVmPQHZUUm9sRqX_ObK2xI,1111
8
8
  grasp_agents/http_client.py,sha256=Es8NXGDkp4Nem7g24-jW0KFGA9Hp_o2Cv3cOvjup-iU,859
9
- grasp_agents/llm.py,sha256=S5muzwTbbT048YyASG_BrMcGYX7IGB0q3KZwL3H26wo,5193
10
- grasp_agents/llm_agent.py,sha256=tK6cOIPTQzH8GO_xDSLMwRiZX_YrGYNbHzZnURRs8NQ,13835
9
+ grasp_agents/llm.py,sha256=4eNB89WNJwby7Umt1Khfr8eVm_yFzXqGdN7i_xHtP_c,5255
10
+ grasp_agents/llm_agent.py,sha256=w5KM9EPhs4nsEET8AdSI69API-R3pWgb80uSp7zGr1o,13834
11
11
  grasp_agents/llm_agent_memory.py,sha256=KPVnwF68acVNdSObSaRcO905YYx8vLHJ-kAEfZYs0sA,1860
12
- grasp_agents/llm_policy_executor.py,sha256=C9qzSkF371-c15-HRQDaDfUaYXKRUCYTgq31b78p2RY,17593
12
+ grasp_agents/llm_policy_executor.py,sha256=WtmDo_WwptfZeu_fOz6jPVgmg3v_hmwo9fxD4BWejvY,17697
13
13
  grasp_agents/memory.py,sha256=QSWjpGTn_t3XFKDxycWUCNFFueQcajzduQGU1vkJFWQ,720
14
14
  grasp_agents/packet.py,sha256=PZ1EpclniAoLk7z4ieZbWzgYH3JSRgnlTe_WfbJYG_4,707
15
15
  grasp_agents/packet_pool.py,sha256=F29EWkKM-305Qqf3hK9jriYXj4vgAx9iAWTg-hfZONs,3035
16
16
  grasp_agents/printer.py,sha256=qxvdUFUu3E5WSjToI4hnXsN0FM8-oIy-pjAybS50oF8,5482
17
- grasp_agents/processor.py,sha256=DYc6A6z9JE5NU7VESzIfQbHcgu8uvNo6L_SWf_QqHwA,11102
17
+ grasp_agents/processor.py,sha256=WZ7ps3b3knBaGrMAjEaIBUlOV1L_Dh4H6BUOf4CGWF8,11209
18
18
  grasp_agents/prompt_builder.py,sha256=wDcB1UaOH8vdxw1tmWZwVZS_bCdWU0VKQvHLpI8SnCk,7970
19
19
  grasp_agents/run_context.py,sha256=pUi2a9WeHUg67cUTQ5T13mmJ3vzQfv-855fWLPeYRmo,1438
20
20
  grasp_agents/usage_tracker.py,sha256=3gmgPcB7qHAl5W5Ffnmu_8GOcKBSv3xM1NLy-HMuSlo,3691
@@ -44,7 +44,7 @@ grasp_agents/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
44
44
  grasp_agents/workflow/looped_workflow.py,sha256=eQkjCo6j3W5Xc7mw3AGmXpUhTkK2BmhrvCuht2UkZuI,4537
45
45
  grasp_agents/workflow/sequential_workflow.py,sha256=UCHZXvTy47S0UG0WwuKp2G7Az6dAcE5tIFPaOXhxcWM,2347
46
46
  grasp_agents/workflow/workflow_processor.py,sha256=lGW-Cy1QraU1AaCPVRs9-EtU5Z_3O3EAnuyIPzD6KQ8,3134
47
- grasp_agents-0.4.2.dist-info/METADATA,sha256=RX_H6TsRQxb-V9JJxjgWu1qn63GPKfEkD2B8Y2cY-1Y,6868
48
- grasp_agents-0.4.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
49
- grasp_agents-0.4.2.dist-info/licenses/LICENSE.md,sha256=-nNNdWqGB8gJ2O-peFQ2Irshv5tW5pHKyTcYkwvH7CE,1201
50
- grasp_agents-0.4.2.dist-info/RECORD,,
47
+ grasp_agents-0.4.4.dist-info/METADATA,sha256=t3yTj29JJi4h2CHsIWTyZVTuyLu_PKlSRlGWJ0QtuyM,6868
48
+ grasp_agents-0.4.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
49
+ grasp_agents-0.4.4.dist-info/licenses/LICENSE.md,sha256=-nNNdWqGB8gJ2O-peFQ2Irshv5tW5pHKyTcYkwvH7CE,1201
50
+ grasp_agents-0.4.4.dist-info/RECORD,,