quantalogic 0.2.23__tar.gz → 0.2.24__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 (79) hide show
  1. {quantalogic-0.2.23 → quantalogic-0.2.24}/PKG-INFO +2 -1
  2. {quantalogic-0.2.23 → quantalogic-0.2.24}/pyproject.toml +2 -1
  3. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/main.py +18 -7
  4. {quantalogic-0.2.23 → quantalogic-0.2.24}/LICENSE +0 -0
  5. {quantalogic-0.2.23 → quantalogic-0.2.24}/README.md +0 -0
  6. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/__init__.py +0 -0
  7. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/agent.py +0 -0
  8. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/agent_config.py +0 -0
  9. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/coding_agent.py +0 -0
  10. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/console_print_events.py +0 -0
  11. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/console_print_token.py +0 -0
  12. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/docs_cli.py +0 -0
  13. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/event_emitter.py +0 -0
  14. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/generative_model.py +0 -0
  15. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/interactive_text_editor.py +0 -0
  16. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/memory.py +0 -0
  17. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/model_names.py +0 -0
  18. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/prompts.py +0 -0
  19. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/search_agent.py +0 -0
  20. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/__init__.py +0 -0
  21. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/agent_server.py +0 -0
  22. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/models.py +0 -0
  23. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/routes.py +0 -0
  24. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/state.py +0 -0
  25. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/static/js/event_visualizer.js +0 -0
  26. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/static/js/quantalogic.js +0 -0
  27. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/server/templates/index.html +0 -0
  28. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tool_manager.py +0 -0
  29. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/__init__.py +0 -0
  30. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/agent_tool.py +0 -0
  31. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/dalle_e.py +0 -0
  32. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/download_http_file_tool.py +0 -0
  33. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/duckduckgo_search_tool.py +0 -0
  34. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/edit_whole_content_tool.py +0 -0
  35. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/elixir_tool.py +0 -0
  36. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/execute_bash_command_tool.py +0 -0
  37. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/input_question_tool.py +0 -0
  38. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/jinja_tool.py +0 -0
  39. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/__init__.py +0 -0
  40. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/c_handler.py +0 -0
  41. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/cpp_handler.py +0 -0
  42. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/go_handler.py +0 -0
  43. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/java_handler.py +0 -0
  44. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/javascript_handler.py +0 -0
  45. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/python_handler.py +0 -0
  46. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/rust_handler.py +0 -0
  47. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/scala_handler.py +0 -0
  48. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/language_handlers/typescript_handler.py +0 -0
  49. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/list_directory_tool.py +0 -0
  50. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/llm_tool.py +0 -0
  51. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/llm_vision_tool.py +0 -0
  52. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/markitdown_tool.py +0 -0
  53. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/nodejs_tool.py +0 -0
  54. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/python_tool.py +0 -0
  55. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/read_file_block_tool.py +0 -0
  56. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/read_file_tool.py +0 -0
  57. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/read_html_tool.py +0 -0
  58. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/replace_in_file_tool.py +0 -0
  59. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/ripgrep_tool.py +0 -0
  60. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/search_definition_names.py +0 -0
  61. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/serpapi_search_tool.py +0 -0
  62. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/task_complete_tool.py +0 -0
  63. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/tool.py +0 -0
  64. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/unified_diff_tool.py +0 -0
  65. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/wikipedia_search_tool.py +0 -0
  66. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/tools/write_file_tool.py +0 -0
  67. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/__init__.py +0 -0
  68. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/ask_user_validation.py +0 -0
  69. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/check_version.py +0 -0
  70. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/download_http_file.py +0 -0
  71. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/get_coding_environment.py +0 -0
  72. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/get_environment.py +0 -0
  73. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/get_quantalogic_rules_content.py +0 -0
  74. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/git_ls.py +0 -0
  75. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/read_file.py +0 -0
  76. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/utils/read_http_text_content.py +0 -0
  77. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/version.py +0 -0
  78. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/xml_parser.py +0 -0
  79. {quantalogic-0.2.23 → quantalogic-0.2.24}/quantalogic/xml_tool_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quantalogic
3
- Version: 0.2.23
3
+ Version: 0.2.24
4
4
  Summary: QuantaLogic ReAct Agents
5
5
  Author: Raphaël MANSUY
6
6
  Author-email: raphael.mansuy@gmail.com
@@ -32,6 +32,7 @@ Requires-Dist: pathspec (>=0.12.1,<0.13.0)
32
32
  Requires-Dist: prompt-toolkit (>=3.0.48,<4.0.0)
33
33
  Requires-Dist: pydantic (>=2.10.4,<3.0.0)
34
34
  Requires-Dist: pymdown-extensions (>=10.3.1,<11.0.0)
35
+ Requires-Dist: requests (>=2.32.3,<3.0.0)
35
36
  Requires-Dist: rich (>=13.9.4,<14.0.0)
36
37
  Requires-Dist: serpapi (>=0.1.5,<0.2.0)
37
38
  Requires-Dist: tenacity (>=9.0.0,<10.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "quantalogic"
3
- version = "0.2.23"
3
+ version = "0.2.24"
4
4
  description = "QuantaLogic ReAct Agents"
5
5
  authors = ["Raphaël MANSUY <raphael.mansuy@gmail.com>"]
6
6
  readme = "README.md"
@@ -49,6 +49,7 @@ llmlingua = "^0.2.2"
49
49
  jinja2 = "^3.1.5"
50
50
  beautifulsoup4 = "^4.12.3"
51
51
  markdownify = "^0.14.1"
52
+ requests = "^2.32.3"
52
53
 
53
54
  [tool.poetry.scripts]
54
55
  quantalogic = "quantalogic.main:cli"
@@ -8,6 +8,7 @@ from typing import Optional
8
8
 
9
9
  # Third-party imports
10
10
  import click
11
+ import requests
11
12
  from loguru import logger
12
13
 
13
14
  from quantalogic.console_print_events import console_print_events
@@ -119,17 +120,27 @@ def switch_verbose(verbose_mode: bool, log_level: str = "info") -> None:
119
120
  set_litellm_verbose(verbose_mode)
120
121
 
121
122
 
122
- def get_task_from_file(file_path: str) -> str:
123
- """Get task content from specified file."""
123
+ def get_task_from_file(source: str):
124
+ """Get task content from specified file path or URL."""
124
125
  try:
125
- with open(file_path, encoding="utf-8") as f:
126
+ # Check if source is a URL
127
+ if source.startswith(('http://', 'https://')):
128
+ import requests
129
+ response = requests.get(source, timeout=10)
130
+ response.raise_for_status() # Raise an exception for bad status codes
131
+ return response.text.strip()
132
+
133
+ # If not a URL, treat as a local file path
134
+ with open(source, encoding="utf-8") as f:
126
135
  return f.read().strip()
127
136
  except FileNotFoundError:
128
- raise FileNotFoundError(f"Error: File '{file_path}' not found.")
137
+ raise FileNotFoundError(f"Error: File '{source}' not found.")
129
138
  except PermissionError:
130
- raise PermissionError(f"Error: Permission denied when reading '{file_path}'.")
139
+ raise PermissionError(f"Error: Permission denied when reading '{source}'.")
140
+ except requests.exceptions.RequestException as e:
141
+ raise Exception(f"Error retrieving URL content: {e}")
131
142
  except Exception as e:
132
- raise Exception(f"Unexpected error reading file: {e}")
143
+ raise Exception(f"Unexpected error: {e}")
133
144
 
134
145
 
135
146
  # Spinner control
@@ -261,7 +272,7 @@ def cli(
261
272
 
262
273
 
263
274
  @cli.command()
264
- @click.option("--file", type=click.Path(exists=True), help="Path to task file.")
275
+ @click.option("--file", type=str, help="Path to task file or URL.")
265
276
  @click.option(
266
277
  "--model-name",
267
278
  default=MODEL_NAME,
File without changes
File without changes