praisonaiagents 0.0.129__tar.gz → 0.0.130__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 (77) hide show
  1. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/PKG-INFO +1 -1
  2. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/process/process.py +15 -8
  3. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/README.md +13 -0
  4. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/__init__.py +1 -0
  5. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents.egg-info/PKG-INFO +1 -1
  6. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/pyproject.toml +2 -1
  7. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/README.md +0 -0
  8. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/__init__.py +0 -0
  9. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agent/__init__.py +0 -0
  10. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agent/agent.py +0 -0
  11. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agent/handoff.py +0 -0
  12. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agent/image_agent.py +0 -0
  13. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agent/router_agent.py +0 -0
  14. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agents/__init__.py +0 -0
  15. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agents/agents.py +0 -0
  16. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/agents/autoagents.py +0 -0
  17. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/approval.py +0 -0
  18. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/guardrails/__init__.py +0 -0
  19. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/guardrails/guardrail_result.py +0 -0
  20. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/guardrails/llm_guardrail.py +0 -0
  21. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/knowledge/__init__.py +0 -0
  22. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/knowledge/chunking.py +0 -0
  23. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/knowledge/knowledge.py +0 -0
  24. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/llm/__init__.py +0 -0
  25. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/llm/llm.py +0 -0
  26. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/llm/model_capabilities.py +0 -0
  27. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/llm/model_router.py +0 -0
  28. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/llm/openai_client.py +0 -0
  29. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/main.py +0 -0
  30. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/mcp/__init__.py +0 -0
  31. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/mcp/mcp.py +0 -0
  32. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/mcp/mcp_http_stream.py +0 -0
  33. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/mcp/mcp_sse.py +0 -0
  34. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/memory/__init__.py +0 -0
  35. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/memory/memory.py +0 -0
  36. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/process/__init__.py +0 -0
  37. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/session.py +0 -0
  38. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/task/__init__.py +0 -0
  39. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/task/task.py +0 -0
  40. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/telemetry/__init__.py +0 -0
  41. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/telemetry/integration.py +0 -0
  42. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/telemetry/telemetry.py +0 -0
  43. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/arxiv_tools.py +0 -0
  44. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/calculator_tools.py +0 -0
  45. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/csv_tools.py +0 -0
  46. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/duckdb_tools.py +0 -0
  47. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/duckduckgo_tools.py +0 -0
  48. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/excel_tools.py +0 -0
  49. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/file_tools.py +0 -0
  50. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/json_tools.py +0 -0
  51. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/newspaper_tools.py +0 -0
  52. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/pandas_tools.py +0 -0
  53. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/python_tools.py +0 -0
  54. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/searxng_tools.py +0 -0
  55. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/shell_tools.py +0 -0
  56. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/spider_tools.py +0 -0
  57. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/test.py +0 -0
  58. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/tools.py +0 -0
  59. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/train/data/generatecot.py +0 -0
  60. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/wikipedia_tools.py +0 -0
  61. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/xml_tools.py +0 -0
  62. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/yaml_tools.py +0 -0
  63. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents/tools/yfinance_tools.py +0 -0
  64. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents.egg-info/SOURCES.txt +0 -0
  65. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents.egg-info/dependency_links.txt +0 -0
  66. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents.egg-info/requires.txt +0 -0
  67. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/praisonaiagents.egg-info/top_level.txt +0 -0
  68. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/setup.cfg +0 -0
  69. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test-graph-memory.py +0 -0
  70. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test.py +0 -0
  71. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test_fix_comprehensive.py +0 -0
  72. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test_handoff_compatibility.py +0 -0
  73. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test_http_stream_basic.py +0 -0
  74. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test_ollama_async_fix.py +0 -0
  75. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test_ollama_fix.py +0 -0
  76. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/tests/test_posthog_fixed.py +0 -0
  77. {praisonaiagents-0.0.129 → praisonaiagents-0.0.130}/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.129
3
+ Version: 0.0.130
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
@@ -265,6 +265,17 @@ class Process:
265
265
  # Parse JSON and validate with Pydantic
266
266
  return self._parse_manager_instructions(response, ManagerInstructions)
267
267
 
268
+ def _check_all_tasks_completed(self) -> bool:
269
+ """Check if all tasks are completed and handle workflow completion.
270
+
271
+ Returns:
272
+ bool: True if all tasks are completed and workflow should exit, False otherwise.
273
+ """
274
+ if all(task.status == "completed" for task in self.tasks.values()):
275
+ logging.info("All tasks are completed.")
276
+ self.workflow_finished = True
277
+ return True
278
+ return False
268
279
 
269
280
  async def aworkflow(self) -> AsyncGenerator[str, None]:
270
281
  """Async version of workflow method"""
@@ -327,10 +338,8 @@ Tasks by type:
327
338
  """)
328
339
 
329
340
  # ADDED: Check if all tasks are completed and set workflow_finished flag
330
- if all(task.status == "completed" for task in self.tasks.values()):
331
- logging.info("All tasks are completed.")
332
- self.workflow_finished = True
333
- # The next iteration loop check will break the workflow
341
+ if self._check_all_tasks_completed():
342
+ break # Exit immediately to prevent task reset
334
343
 
335
344
  task_id = current_task.id
336
345
  logging.debug(f"""
@@ -887,10 +896,8 @@ Tasks by type:
887
896
  """)
888
897
 
889
898
  # ADDED: Check if all tasks are completed and set workflow_finished flag
890
- if all(task.status == "completed" for task in self.tasks.values()):
891
- logging.info("All tasks are completed.")
892
- self.workflow_finished = True
893
- # The next iteration loop check will break the workflow
899
+ if self._check_all_tasks_completed():
900
+ break # Exit immediately to prevent task reset
894
901
 
895
902
 
896
903
  # Handle loop task file reading at runtime
@@ -99,6 +99,19 @@ Ask yourself these questions:
99
99
  - Each search is independent and secure
100
100
  - Alternative to traditional search engines for privacy
101
101
 
102
+
103
+ ### Spider Tool (Function-Based)
104
+ - General-purpose web scraping and crawling
105
+ - Supports CSS selectors for precise content extraction
106
+ - Can crawl multiple pages and extract links/images
107
+ - Flexible for various web scraping needs
108
+
109
+ ### Newspaper Tool (Function-Based)
110
+ - Specialized for news article extraction
111
+ - Extracts article title, text, authors, and publish date
112
+ - Includes NLP processing for keywords and summaries
113
+ - Categorizes news sources by topic
114
+
102
115
  ### Stock Market Tool (Class-Based)
103
116
  - Does multiple things: check prices, get company info, get historical data
104
117
  - Remembers stock information to avoid repeated downloads
@@ -39,6 +39,7 @@ TOOL_MAPPINGS = {
39
39
  'extract_text': ('.spider_tools', None),
40
40
  'spider_tools': ('.spider_tools', None),
41
41
 
42
+
42
43
  # DuckDB Tools
43
44
  'query': ('.duckdb_tools', None),
44
45
  'create_table': ('.duckdb_tools', None),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonaiagents
3
- Version: 0.0.129
3
+ Version: 0.0.130
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.129"
7
+ version = "0.0.130"
8
8
  description = "Praison AI agents for completing complex tasks with Self Reflection Agents"
9
9
  requires-python = ">=3.10"
10
10
  authors = [
@@ -61,6 +61,7 @@ telemetry = [
61
61
  "posthog>=3.0.0"
62
62
  ]
63
63
 
64
+
64
65
  # Combined features
65
66
  all = [
66
67
  "praisonaiagents[memory]",