praisonaiagents 0.0.147__tar.gz → 0.0.149__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 (92) hide show
  1. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/PKG-INFO +1 -1
  2. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/_logging.py +1 -1
  3. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agent/agent.py +19 -10
  4. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/llm/llm.py +8 -1
  5. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents.egg-info/PKG-INFO +1 -1
  6. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/pyproject.toml +1 -1
  7. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/README.md +0 -0
  8. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/__init__.py +0 -0
  9. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/_warning_patch.py +0 -0
  10. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agent/__init__.py +0 -0
  11. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agent/context_agent.py +0 -0
  12. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agent/handoff.py +0 -0
  13. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agent/image_agent.py +0 -0
  14. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agent/router_agent.py +0 -0
  15. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agents/__init__.py +0 -0
  16. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agents/agents.py +0 -0
  17. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/agents/autoagents.py +0 -0
  18. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/approval.py +0 -0
  19. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/guardrails/__init__.py +0 -0
  20. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/guardrails/guardrail_result.py +0 -0
  21. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/guardrails/llm_guardrail.py +0 -0
  22. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/knowledge/__init__.py +0 -0
  23. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/knowledge/chunking.py +0 -0
  24. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/knowledge/knowledge.py +0 -0
  25. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/llm/__init__.py +0 -0
  26. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/llm/model_capabilities.py +0 -0
  27. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/llm/model_router.py +0 -0
  28. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/llm/openai_client.py +0 -0
  29. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/main.py +0 -0
  30. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/mcp/__init__.py +0 -0
  31. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/mcp/mcp.py +0 -0
  32. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/mcp/mcp_http_stream.py +0 -0
  33. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/mcp/mcp_sse.py +0 -0
  34. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/memory/__init__.py +0 -0
  35. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/memory/memory.py +0 -0
  36. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/process/__init__.py +0 -0
  37. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/process/process.py +0 -0
  38. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/session.py +0 -0
  39. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/task/__init__.py +0 -0
  40. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/task/task.py +0 -0
  41. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/telemetry/__init__.py +0 -0
  42. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/telemetry/integration.py +0 -0
  43. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/telemetry/performance_cli.py +0 -0
  44. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/telemetry/performance_monitor.py +0 -0
  45. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/telemetry/performance_utils.py +0 -0
  46. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/telemetry/telemetry.py +0 -0
  47. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/README.md +0 -0
  48. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/__init__.py +0 -0
  49. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/arxiv_tools.py +0 -0
  50. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/calculator_tools.py +0 -0
  51. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/csv_tools.py +0 -0
  52. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/duckdb_tools.py +0 -0
  53. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/duckduckgo_tools.py +0 -0
  54. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/excel_tools.py +0 -0
  55. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/file_tools.py +0 -0
  56. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/json_tools.py +0 -0
  57. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/mongodb_tools.py +0 -0
  58. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/newspaper_tools.py +0 -0
  59. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/pandas_tools.py +0 -0
  60. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/python_tools.py +0 -0
  61. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/searxng_tools.py +0 -0
  62. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/shell_tools.py +0 -0
  63. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/spider_tools.py +0 -0
  64. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/test.py +0 -0
  65. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/tools.py +0 -0
  66. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/train/data/generatecot.py +0 -0
  67. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/wikipedia_tools.py +0 -0
  68. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/xml_tools.py +0 -0
  69. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/yaml_tools.py +0 -0
  70. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents/tools/yfinance_tools.py +0 -0
  71. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents.egg-info/SOURCES.txt +0 -0
  72. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents.egg-info/dependency_links.txt +0 -0
  73. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents.egg-info/requires.txt +0 -0
  74. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/praisonaiagents.egg-info/top_level.txt +0 -0
  75. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/setup.cfg +0 -0
  76. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test-graph-memory.py +0 -0
  77. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test.py +0 -0
  78. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_context_agent.py +0 -0
  79. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_embedding_logging.py +0 -0
  80. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_fix_comprehensive.py +0 -0
  81. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_gemini_streaming_fix.py +0 -0
  82. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_handoff_compatibility.py +0 -0
  83. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_http_stream_basic.py +0 -0
  84. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_llm_self_reflection_direct.py +0 -0
  85. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_ollama_async_fix.py +0 -0
  86. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_ollama_fix.py +0 -0
  87. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_ollama_sequential_fix.py +0 -0
  88. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_posthog_fixed.py +0 -0
  89. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_self_reflection_comprehensive.py +0 -0
  90. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_self_reflection_fix_simple.py +0 -0
  91. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_self_reflection_fix_verification.py +0 -0
  92. {praisonaiagents-0.0.147 → praisonaiagents-0.0.149}/tests/test_validation_feedback.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonaiagents
3
- Version: 0.0.147
3
+ Version: 0.0.149
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10
@@ -59,7 +59,7 @@ def _configure_loggers():
59
59
 
60
60
  # When DEBUG is set, allow some HTTP logging for API endpoints
61
61
  if loglevel == 'DEBUG':
62
- allowed_debug_loggers = {"httpx._client", "openai._client"}
62
+ allowed_debug_loggers = {"httpx", "httpx._client", "openai._client"}
63
63
 
64
64
  for logger_name in _get_all_noisy_loggers():
65
65
  if logger_name not in allowed_debug_loggers:
@@ -331,8 +331,15 @@ class Agent:
331
331
 
332
332
  # Configure logging to suppress unwanted outputs
333
333
  logging.getLogger("litellm").setLevel(logging.WARNING)
334
- logging.getLogger("httpx").setLevel(logging.WARNING)
335
- logging.getLogger("httpcore").setLevel(logging.WARNING)
334
+
335
+ # Allow httpx logging when LOGLEVEL=debug, otherwise suppress it
336
+ loglevel = os.environ.get('LOGLEVEL', 'INFO').upper()
337
+ if loglevel == 'DEBUG':
338
+ logging.getLogger("httpx").setLevel(logging.INFO)
339
+ logging.getLogger("httpcore").setLevel(logging.INFO)
340
+ else:
341
+ logging.getLogger("httpx").setLevel(logging.WARNING)
342
+ logging.getLogger("httpcore").setLevel(logging.WARNING)
336
343
 
337
344
  # If instructions are provided, use them to set role, goal, and backstory
338
345
  if instructions:
@@ -1229,14 +1236,14 @@ Your Goal: {self.goal}"""
1229
1236
  border_style="green",
1230
1237
  expand=False
1231
1238
  )
1232
- else:
1233
- # No content yet: show generating message
1234
- return Panel(
1235
- f"[bold cyan]Generating response...[/bold cyan]",
1236
- title=f"[bold]{self.name}[/bold] - {elapsed:.1f}s",
1237
- border_style="cyan",
1238
- expand=False
1239
- )
1239
+ # else:
1240
+ # # No content yet: show generating message
1241
+ # return Panel(
1242
+ # f"[bold cyan]Generating response...[/bold cyan]",
1243
+ # title=f"[bold]{self.name}[/bold] - {elapsed:.1f}s",
1244
+ # border_style="cyan",
1245
+ # expand=False
1246
+ # )
1240
1247
 
1241
1248
  def chat(self, prompt, temperature=0.2, tools=None, output_json=None, output_pydantic=None, reasoning_steps=False, stream=None, task_name=None, task_description=None, task_id=None):
1242
1249
  # Reset the final display flag for each new conversation
@@ -1353,6 +1360,8 @@ Your Goal: {self.goal}"""
1353
1360
  # Apply guardrail validation for custom LLM response
1354
1361
  try:
1355
1362
  validated_response = self._apply_guardrail_with_retry(response_text, prompt, temperature, tools, task_name, task_description, task_id)
1363
+ # Execute callback and display after validation
1364
+ self._execute_callback_and_display(prompt, validated_response, time.time() - start_time, task_name, task_description, task_id)
1356
1365
  return validated_response
1357
1366
  except Exception as e:
1358
1367
  logging.error(f"Agent {self.name}: Guardrail validation failed for custom LLM: {e}")
@@ -201,7 +201,14 @@ class LLM:
201
201
  # These are from external libraries and not useful for debugging user code
202
202
  logging.getLogger("litellm.utils").setLevel(logging.WARNING)
203
203
  logging.getLogger("litellm.main").setLevel(logging.WARNING)
204
- logging.getLogger("litellm.llms.custom_httpx.http_handler").setLevel(logging.WARNING)
204
+
205
+ # Allow httpx logging when LOGLEVEL=debug, otherwise suppress it
206
+ loglevel = os.environ.get('LOGLEVEL', 'INFO').upper()
207
+ if loglevel == 'DEBUG':
208
+ logging.getLogger("litellm.llms.custom_httpx.http_handler").setLevel(logging.INFO)
209
+ else:
210
+ logging.getLogger("litellm.llms.custom_httpx.http_handler").setLevel(logging.WARNING)
211
+
205
212
  logging.getLogger("litellm.litellm_logging").setLevel(logging.WARNING)
206
213
  logging.getLogger("litellm.transformation").setLevel(logging.WARNING)
207
214
  litellm.suppress_debug_messages = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonaiagents
3
- Version: 0.0.147
3
+ Version: 0.0.149
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "praisonaiagents"
7
- version = "0.0.147"
7
+ version = "0.0.149"
8
8
  description = "Praison AI agents for completing complex tasks with Self Reflection Agents"
9
9
  requires-python = ">=3.10"
10
10
  authors = [