grasp_agents 0.4.0__tar.gz → 0.4.2__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 (51) hide show
  1. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/PKG-INFO +2 -2
  2. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/README.md +1 -1
  3. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/pyproject.toml +1 -1
  4. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/llm_policy_executor.py +7 -3
  5. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/content.py +1 -0
  6. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/message.py +1 -3
  7. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/.gitignore +0 -0
  8. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/LICENSE.md +0 -0
  9. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/__init__.py +0 -0
  10. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/cloud_llm.py +0 -0
  11. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/comm_processor.py +0 -0
  12. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/costs_dict.yaml +0 -0
  13. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/errors.py +0 -0
  14. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/generics_utils.py +0 -0
  15. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/grasp_logging.py +0 -0
  16. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/http_client.py +0 -0
  17. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/llm.py +0 -0
  18. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/llm_agent.py +0 -0
  19. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/llm_agent_memory.py +0 -0
  20. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/memory.py +0 -0
  21. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/__init__.py +0 -0
  22. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/completion_chunk_converters.py +0 -0
  23. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/completion_converters.py +0 -0
  24. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/content_converters.py +0 -0
  25. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/converters.py +0 -0
  26. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/message_converters.py +0 -0
  27. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/openai_llm.py +0 -0
  28. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/openai/tool_converters.py +0 -0
  29. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/packet.py +0 -0
  30. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/packet_pool.py +0 -0
  31. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/printer.py +0 -0
  32. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/processor.py +0 -0
  33. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/prompt_builder.py +0 -0
  34. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/rate_limiting/__init__.py +0 -0
  35. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/rate_limiting/rate_limiter_chunked.py +0 -0
  36. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/rate_limiting/types.py +0 -0
  37. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/rate_limiting/utils.py +0 -0
  38. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/run_context.py +0 -0
  39. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/__init__.py +0 -0
  40. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/completion.py +0 -0
  41. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/completion_chunk.py +0 -0
  42. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/converters.py +0 -0
  43. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/events.py +0 -0
  44. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/io.py +0 -0
  45. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/typing/tool.py +0 -0
  46. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/usage_tracker.py +0 -0
  47. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/utils.py +0 -0
  48. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/workflow/__init__.py +0 -0
  49. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/workflow/looped_workflow.py +0 -0
  50. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/workflow/sequential_workflow.py +0 -0
  51. {grasp_agents-0.4.0 → grasp_agents-0.4.2}/src/grasp_agents/workflow/workflow_processor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: grasp_agents
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: Grasp Agents Library
5
5
  License-File: LICENSE.md
6
6
  Requires-Python: <4,>=3.11.4
@@ -45,7 +45,7 @@ Description-Content-Type: text/markdown
45
45
  - Workflows (static communication topology), including loops
46
46
  - Agents-as-tools for task delegation
47
47
  - Freeform A2A communication via the in-process actor model
48
- - Batch processing support outside of agentic loops
48
+ - Parallel processing with flexible retries and rate limiting
49
49
  - Simple logging and usage/cost tracking
50
50
 
51
51
  ## Project Structure
@@ -29,7 +29,7 @@
29
29
  - Workflows (static communication topology), including loops
30
30
  - Agents-as-tools for task delegation
31
31
  - Freeform A2A communication via the in-process actor model
32
- - Batch processing support outside of agentic loops
32
+ - Parallel processing with flexible retries and rate limiting
33
33
  - Simple logging and usage/cost tracking
34
34
 
35
35
  ## Project Structure
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "grasp_agents"
3
- version = "0.4.0"
3
+ version = "0.4.2"
4
4
  description = "Grasp Agents Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11.4,<4"
@@ -366,9 +366,13 @@ class LLMPolicyExecutor(AutoInstanceAttributesMixin, Generic[_FinalAnswerT, CtxT
366
366
  # If we are not in ReAct mode, we set tool_choice to "auto" to allow
367
367
  # the LLM to choose freely whether to call tools.
368
368
 
369
- tool_choice = (
370
- "none" if (self._react_mode and gen_message.tool_calls) else "required"
371
- )
369
+ if self._react_mode and gen_message.tool_calls:
370
+ tool_choice = "none"
371
+ elif gen_message.tool_calls:
372
+ tool_choice = "auto"
373
+ else:
374
+ tool_choice = "required"
375
+
372
376
  gen_message = (
373
377
  await self.generate_messages(
374
378
  memory, tool_choice=tool_choice, run_id=run_id, ctx=ctx
@@ -66,6 +66,7 @@ class Content(BaseModel):
66
66
  def from_formatted_prompt(
67
67
  cls,
68
68
  prompt_template: str,
69
+ /,
69
70
  **prompt_args: str | int | bool | ImageData | None,
70
71
  ) -> "Content":
71
72
  prompt_args = prompt_args or {}
@@ -45,9 +45,7 @@ class UserMessage(MessageBase):
45
45
  name: str | None = None,
46
46
  prompt_args: Mapping[str, str | int | bool | ImageData] | None = None,
47
47
  ) -> "UserMessage":
48
- content = Content.from_formatted_prompt(
49
- prompt_template=prompt_template, **(prompt_args or {})
50
- )
48
+ content = Content.from_formatted_prompt(prompt_template, **(prompt_args or {}))
51
49
 
52
50
  return cls(content=content, name=name)
53
51
 
File without changes
File without changes