langroid 0.54.0__tar.gz → 0.54.1__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 (140) hide show
  1. {langroid-0.54.0 → langroid-0.54.1}/PKG-INFO +4 -1
  2. {langroid-0.54.0 → langroid-0.54.1}/README.md +3 -0
  3. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/task.py +13 -0
  4. {langroid-0.54.0 → langroid-0.54.1}/pyproject.toml +1 -1
  5. {langroid-0.54.0 → langroid-0.54.1}/.gitignore +0 -0
  6. {langroid-0.54.0 → langroid-0.54.1}/LICENSE +0 -0
  7. {langroid-0.54.0 → langroid-0.54.1}/langroid/__init__.py +0 -0
  8. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/__init__.py +0 -0
  9. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/base.py +0 -0
  10. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/batch.py +0 -0
  11. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/callbacks/__init__.py +0 -0
  12. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/callbacks/chainlit.py +0 -0
  13. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/chat_agent.py +0 -0
  14. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/chat_document.py +0 -0
  15. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/openai_assistant.py +0 -0
  16. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/__init__.py +0 -0
  17. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/arangodb/__init__.py +0 -0
  18. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/arangodb/arangodb_agent.py +0 -0
  19. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/arangodb/system_messages.py +0 -0
  20. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/arangodb/tools.py +0 -0
  21. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/arangodb/utils.py +0 -0
  22. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/doc_chat_agent.py +0 -0
  23. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/doc_chat_task.py +0 -0
  24. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  25. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/lance_rag/__init__.py +0 -0
  26. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  27. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  28. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  29. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/lance_tools.py +0 -0
  30. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/neo4j/__init__.py +0 -0
  31. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  32. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/neo4j/neo4j_chat_agent.py +0 -0
  33. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/neo4j/system_messages.py +0 -0
  34. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/neo4j/tools.py +0 -0
  35. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  36. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/retriever_agent.py +0 -0
  37. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/__init__.py +0 -0
  38. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  39. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/utils/__init__.py +0 -0
  40. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  41. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  42. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/utils/system_message.py +0 -0
  43. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/sql/utils/tools.py +0 -0
  44. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/special/table_chat_agent.py +0 -0
  45. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tool_message.py +0 -0
  46. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/__init__.py +0 -0
  47. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  48. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/exa_search_tool.py +0 -0
  49. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/file_tools.py +0 -0
  50. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/google_search_tool.py +0 -0
  51. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/mcp/__init__.py +0 -0
  52. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/mcp/decorators.py +0 -0
  53. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/mcp/fastmcp_client.py +0 -0
  54. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  55. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/orchestration.py +0 -0
  56. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/recipient_tool.py +0 -0
  57. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/retrieval_tool.py +0 -0
  58. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/rewind_tool.py +0 -0
  59. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/segment_extract_tool.py +0 -0
  60. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/tools/tavily_search_tool.py +0 -0
  61. {langroid-0.54.0 → langroid-0.54.1}/langroid/agent/xml_tool_message.py +0 -0
  62. {langroid-0.54.0 → langroid-0.54.1}/langroid/cachedb/__init__.py +0 -0
  63. {langroid-0.54.0 → langroid-0.54.1}/langroid/cachedb/base.py +0 -0
  64. {langroid-0.54.0 → langroid-0.54.1}/langroid/cachedb/redis_cachedb.py +0 -0
  65. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/__init__.py +0 -0
  66. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/base.py +0 -0
  67. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/models.py +0 -0
  68. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/protoc/__init__.py +0 -0
  69. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  70. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  71. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  72. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  73. {langroid-0.54.0 → langroid-0.54.1}/langroid/embedding_models/remote_embeds.py +0 -0
  74. {langroid-0.54.0 → langroid-0.54.1}/langroid/exceptions.py +0 -0
  75. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/__init__.py +0 -0
  76. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/azure_openai.py +0 -0
  77. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/base.py +0 -0
  78. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/config.py +0 -0
  79. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/mock_lm.py +0 -0
  80. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/model_info.py +0 -0
  81. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/openai_gpt.py +0 -0
  82. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  83. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/prompt_formatter/base.py +0 -0
  84. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  85. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  86. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/provider_params.py +0 -0
  87. {langroid-0.54.0 → langroid-0.54.1}/langroid/language_models/utils.py +0 -0
  88. {langroid-0.54.0 → langroid-0.54.1}/langroid/mytypes.py +0 -0
  89. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/__init__.py +0 -0
  90. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/agent_chats.py +0 -0
  91. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/code_parser.py +0 -0
  92. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/document_parser.py +0 -0
  93. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/file_attachment.py +0 -0
  94. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/md_parser.py +0 -0
  95. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/para_sentence_split.py +0 -0
  96. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/parse_json.py +0 -0
  97. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/parser.py +0 -0
  98. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/pdf_utils.py +0 -0
  99. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/repo_loader.py +0 -0
  100. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/routing.py +0 -0
  101. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/search.py +0 -0
  102. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/spider.py +0 -0
  103. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/table_loader.py +0 -0
  104. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/url_loader.py +0 -0
  105. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/urls.py +0 -0
  106. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/utils.py +0 -0
  107. {langroid-0.54.0 → langroid-0.54.1}/langroid/parsing/web_search.py +0 -0
  108. {langroid-0.54.0 → langroid-0.54.1}/langroid/prompts/__init__.py +0 -0
  109. {langroid-0.54.0 → langroid-0.54.1}/langroid/prompts/dialog.py +0 -0
  110. {langroid-0.54.0 → langroid-0.54.1}/langroid/prompts/prompts_config.py +0 -0
  111. {langroid-0.54.0 → langroid-0.54.1}/langroid/prompts/templates.py +0 -0
  112. {langroid-0.54.0 → langroid-0.54.1}/langroid/py.typed +0 -0
  113. {langroid-0.54.0 → langroid-0.54.1}/langroid/pydantic_v1/__init__.py +0 -0
  114. {langroid-0.54.0 → langroid-0.54.1}/langroid/pydantic_v1/main.py +0 -0
  115. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/__init__.py +0 -0
  116. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/algorithms/__init__.py +0 -0
  117. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/algorithms/graph.py +0 -0
  118. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/configuration.py +0 -0
  119. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/constants.py +0 -0
  120. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/git_utils.py +0 -0
  121. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/globals.py +0 -0
  122. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/logging.py +0 -0
  123. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/object_registry.py +0 -0
  124. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/output/__init__.py +0 -0
  125. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/output/citations.py +0 -0
  126. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/output/printing.py +0 -0
  127. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/output/status.py +0 -0
  128. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/pandas_utils.py +0 -0
  129. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/pydantic_utils.py +0 -0
  130. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/system.py +0 -0
  131. {langroid-0.54.0 → langroid-0.54.1}/langroid/utils/types.py +0 -0
  132. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/__init__.py +0 -0
  133. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/base.py +0 -0
  134. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/chromadb.py +0 -0
  135. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/lancedb.py +0 -0
  136. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/meilisearch.py +0 -0
  137. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/pineconedb.py +0 -0
  138. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/postgres.py +0 -0
  139. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/qdrantdb.py +0 -0
  140. {langroid-0.54.0 → langroid-0.54.1}/langroid/vector_store/weaviatedb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langroid
3
- Version: 0.54.0
3
+ Version: 0.54.1
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  Author-email: Prasad Chalasani <pchalasani@gmail.com>
6
6
  License: MIT
@@ -344,6 +344,9 @@ teacher_task.run()
344
344
  <details>
345
345
  <summary> <b>Click to expand</b></summary>
346
346
 
347
+ - **Jun 2025:**
348
+ - [0.54.0](https://github.com/langroid/langroid/releases/tag/0.54.0) Portkey AI Gateway support - access 200+ models
349
+ across providers through unified API with caching, retries, observability.
347
350
  - **Mar-Apr 2025:**
348
351
  - [0.53.0](https://github.com/langroid/langroid/releases/tag/0.53.0) MCP Tools Support.
349
352
  - [0.52.0](https://github.com/langroid/langroid/releases/tag/0.52.0) Multimodal support, i.e. allow PDF, image
@@ -143,6 +143,9 @@ teacher_task.run()
143
143
  <details>
144
144
  <summary> <b>Click to expand</b></summary>
145
145
 
146
+ - **Jun 2025:**
147
+ - [0.54.0](https://github.com/langroid/langroid/releases/tag/0.54.0) Portkey AI Gateway support - access 200+ models
148
+ across providers through unified API with caching, retries, observability.
146
149
  - **Mar-Apr 2025:**
147
150
  - [0.53.0](https://github.com/langroid/langroid/releases/tag/0.53.0) MCP Tools Support.
148
151
  - [0.52.0](https://github.com/langroid/langroid/releases/tag/0.52.0) Multimodal support, i.e. allow PDF, image
@@ -104,6 +104,10 @@ class TaskConfig(BaseModel):
104
104
  to use string-based signaling, and it is recommended to use the
105
105
  new Orchestration tools instead (see agent/tools/orchestration.py),
106
106
  e.g. DoneTool, SendTool, etc.
107
+ done_if_tool (bool): whether to consider the task done if the pending message
108
+ contains a Tool attempt by the LLM
109
+ (including tools not handled by the agent).
110
+ Default is False.
107
111
 
108
112
  """
109
113
 
@@ -115,6 +119,7 @@ class TaskConfig(BaseModel):
115
119
  addressing_prefix: str = ""
116
120
  allow_subtask_multi_oai_tools: bool = True
117
121
  recognize_string_signals: bool = True
122
+ done_if_tool: bool = False
118
123
 
119
124
 
120
125
  class Task:
@@ -1828,6 +1833,14 @@ class Task:
1828
1833
  if self._is_kill():
1829
1834
  return (True, StatusCode.KILL)
1830
1835
  result = result or self.pending_message
1836
+
1837
+ # Check if task should be done if message contains a tool
1838
+ if self.config.done_if_tool and result is not None:
1839
+ if isinstance(result, ChatDocument) and self.agent.try_get_tool_messages(
1840
+ result, all_tools=True
1841
+ ):
1842
+ return (True, StatusCode.DONE)
1843
+
1831
1844
  allow_done_string = self.config.recognize_string_signals
1832
1845
  # An entity decided task is done, either via DoneTool,
1833
1846
  # or by explicitly saying DONE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "langroid"
3
- version = "0.54.0"
3
+ version = "0.54.1"
4
4
  authors = [
5
5
  {name = "Prasad Chalasani", email = "pchalasani@gmail.com"},
6
6
  ]
File without changes
File without changes
File without changes
File without changes