quantalogic 0.50.1__tar.gz → 0.50.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.
- {quantalogic-0.50.1 → quantalogic-0.50.2}/PKG-INFO +4 -1
- {quantalogic-0.50.1 → quantalogic-0.50.2}/pyproject.toml +5 -4
- quantalogic-0.50.2/quantalogic/tools/__init__.py +110 -0
- quantalogic-0.50.1/quantalogic/tools/__init__.py +0 -101
- {quantalogic-0.50.1 → quantalogic-0.50.2}/LICENSE +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/README.md +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/agent.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/agent_config.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/agent_factory.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/coding_agent.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/config.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/console_print_events.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/console_print_token.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/docs_cli.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/event_emitter.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/flow.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/flow_extractor.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/flow_generator.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/flow_manager.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/flow_manager_schema.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/flow/flow_yaml.md +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/generative_model.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/get_model_info.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/interactive_text_editor.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/main.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/memory.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/model_info.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/model_info_list.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/model_info_litellm.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/model_names.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/prompts.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/quantlitellm.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/search_agent.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/agent_server.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/models.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/routes.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/state.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/static/js/event_visualizer.js +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/static/js/quantalogic.js +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/server/templates/index.html +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/task_file_reader.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/task_runner.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tool_manager.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/agent_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/composio/composio.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/database/generate_database_report_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/database/sql_query_tool_advanced.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_docx_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_epub_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_html_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_ipynb_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_latex_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_pdf_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_pptx_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/download_http_file_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/duckduckgo_search_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/edit_whole_content_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/elixir_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/execute_bash_command_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/alpha_vantage_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/ccxt_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/finance_llm_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/google_finance.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/market_intelligence_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/technical_analysis_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/tradingview_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/yahoo_finance.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/git/bitbucket_clone_repo_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/git/bitbucket_operations_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/git/clone_repo_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/git/git_operations_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/google_packages/google_news_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/grep_app_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/image_generation/dalle_e.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/input_question_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/jinja_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/c_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/cpp_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/go_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/java_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/javascript_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/python_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/rust_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/scala_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/typescript_handler.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/list_directory_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/llm_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/llm_vision_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/markitdown_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/nasa_packages/models.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/nasa_packages/nasa_apod_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/nasa_packages/nasa_neows_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/nasa_packages/services.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/nodejs_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/presentation_tools/presentation_llm_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/product_hunt/product_hunt_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/product_hunt/services.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/python_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/rag_tool/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/rag_tool/document_metadata.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/rag_tool/query_response.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/rag_tool/rag_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/rag_tool/rag_tool_beta.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/read_file_block_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/read_file_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/read_html_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/replace_in_file_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/ripgrep_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/safe_python_interpreter_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/search_definition_names.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/sequence_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/serpapi_search_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/sql_query_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/task_complete_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/unified_diff_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utilities/csv_processor_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utilities/download_file_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utilities/mermaid_validator_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utils/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utils/create_sample_database.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utils/generate_database_report.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/wikipedia_search_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/write_file_tool.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/__init__.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/ask_user_validation.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/async_utils.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/check_version.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/download_http_file.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/get_all_models.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/get_coding_environment.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/get_environment.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/get_quantalogic_rules_content.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/git_ls.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/lm_studio_model_info.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/python_interpreter.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/read_file.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/read_http_text_content.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/xml_utility.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/version.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/version_check.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/welcome_message.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/xml_parser.py +0 -0
- {quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/xml_tool_parser.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: quantalogic
|
3
|
-
Version: 0.50.
|
3
|
+
Version: 0.50.2
|
4
4
|
Summary: QuantaLogic ReAct Agents
|
5
5
|
Author: Raphaël MANSUY
|
6
6
|
Author-email: raphael.mansuy@gmail.com
|
@@ -9,11 +9,14 @@ Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
10
10
|
Classifier: Programming Language :: Python :: 3.13
|
11
11
|
Requires-Dist: click (>=8.1.8,<9.0.0)
|
12
|
+
Requires-Dist: instructor (>=1.7.2,<2.0.0)
|
12
13
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
13
14
|
Requires-Dist: litellm (>=1.56.4,<2.0.0)
|
14
15
|
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
16
|
+
Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
15
17
|
Requires-Dist: prompt-toolkit (>=3.0.48,<4.0.0)
|
16
18
|
Requires-Dist: pydantic (>=2.10.4,<3.0.0)
|
19
|
+
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
17
20
|
Requires-Dist: rich (>=13.9.4,<14.0.0)
|
18
21
|
Requires-Dist: tenacity (>=9.0.0,<10.0.0)
|
19
22
|
Description-Content-Type: text/markdown
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "quantalogic"
|
3
|
-
version = "0.50.
|
3
|
+
version = "0.50.2"
|
4
4
|
description = "QuantaLogic ReAct Agents"
|
5
5
|
authors = ["Raphaël MANSUY <raphael.mansuy@gmail.com>"]
|
6
6
|
readme = "README.md"
|
@@ -17,6 +17,9 @@ tenacity = "^9.0.0"
|
|
17
17
|
prompt-toolkit = "^3.0.48"
|
18
18
|
click = "^8.1.8"
|
19
19
|
jinja2 = "^3.1.5"
|
20
|
+
instructor = "^1.7.2"
|
21
|
+
requests = "^2.32.3"
|
22
|
+
pathspec = "^0.12.1"
|
20
23
|
|
21
24
|
# Optional group for file-related tools
|
22
25
|
[tool.poetry.group.file-tools]
|
@@ -76,7 +79,6 @@ llama-index-embeddings-bedrock = "^0.5.0"
|
|
76
79
|
llama-index-vector-stores-chroma = "^0.4.1"
|
77
80
|
llama-index-vector-stores-faiss = "^0.3.0"
|
78
81
|
llmlingua = "^0.2.2"
|
79
|
-
instructor = "^1.7.2"
|
80
82
|
|
81
83
|
# Optional group for web and API tools
|
82
84
|
[tool.poetry.group.web-tools]
|
@@ -87,7 +89,7 @@ boto3 = "^1.35.86"
|
|
87
89
|
uvicorn = "^0.34.0"
|
88
90
|
fastapi = "^0.115.6"
|
89
91
|
websocket = "^0.2.1"
|
90
|
-
|
92
|
+
|
91
93
|
beautifulsoup4 = "^4.12.3"
|
92
94
|
html2text = "^2024.2.26"
|
93
95
|
python-multipart = "^0.0.20"
|
@@ -128,7 +130,6 @@ mkdocs = "^1.6.0"
|
|
128
130
|
optional = true
|
129
131
|
|
130
132
|
[tool.poetry.group.utilities.dependencies]
|
131
|
-
pathspec = "^0.12.1"
|
132
133
|
google-auth = "^2.20.0"
|
133
134
|
toml = "^0.10.2"
|
134
135
|
types-requests = "^2.32.0.20241016"
|
@@ -0,0 +1,110 @@
|
|
1
|
+
"""Tools for the QuantaLogic agent."""
|
2
|
+
|
3
|
+
import importlib
|
4
|
+
import sys
|
5
|
+
from typing import Any, Dict
|
6
|
+
|
7
|
+
|
8
|
+
class LazyLoader:
|
9
|
+
"""
|
10
|
+
Lazily import a module only when its attributes are accessed.
|
11
|
+
This helps reduce startup time by deferring imports until needed.
|
12
|
+
"""
|
13
|
+
def __init__(self, module_path: str, optional: bool = False):
|
14
|
+
self.module_path = module_path
|
15
|
+
self._module = None
|
16
|
+
self.optional = optional
|
17
|
+
|
18
|
+
def __getattr__(self, name: str) -> Any:
|
19
|
+
if self._module is None:
|
20
|
+
try:
|
21
|
+
self._module = importlib.import_module(self.module_path)
|
22
|
+
except ImportError as e:
|
23
|
+
if self.optional:
|
24
|
+
# If the tool is optional, log a warning but don't raise an error
|
25
|
+
print(f"Warning: Optional tool {self.module_path} could not be imported: {e}")
|
26
|
+
return None
|
27
|
+
raise
|
28
|
+
|
29
|
+
return getattr(self._module, name)
|
30
|
+
|
31
|
+
|
32
|
+
# Map of tool names to their import paths and optional status
|
33
|
+
_TOOL_IMPORTS = {
|
34
|
+
"AgentTool": (".agent_tool", False),
|
35
|
+
"ComposioTool": (".composio.composio", False),
|
36
|
+
"GenerateDatabaseReportTool": (".database.generate_database_report_tool", False),
|
37
|
+
"SQLQueryToolAdvanced": (".database.sql_query_tool_advanced", False),
|
38
|
+
"MarkdownToDocxTool": (".document_tools.markdown_to_docx_tool", True),
|
39
|
+
"MarkdownToEpubTool": (".document_tools.markdown_to_epub_tool", True),
|
40
|
+
"MarkdownToHtmlTool": (".document_tools.markdown_to_html_tool", True),
|
41
|
+
"MarkdownToIpynbTool": (".document_tools.markdown_to_ipynb_tool", True),
|
42
|
+
"MarkdownToLatexTool": (".document_tools.markdown_to_latex_tool", True),
|
43
|
+
"MarkdownToPdfTool": (".document_tools.markdown_to_pdf_tool", True),
|
44
|
+
"MarkdownToPptxTool": (".document_tools.markdown_to_pptx_tool", True),
|
45
|
+
"DownloadHttpFileTool": (".download_http_file_tool", False),
|
46
|
+
"DuckDuckGoSearchTool": (".duckduckgo_search_tool", False),
|
47
|
+
"EditWholeContentTool": (".edit_whole_content_tool", False),
|
48
|
+
"ElixirTool": (".elixir_tool", False),
|
49
|
+
"ExecuteBashCommandTool": (".execute_bash_command_tool", False),
|
50
|
+
"BitbucketCloneTool": (".git.bitbucket_clone_repo_tool", False),
|
51
|
+
"BitbucketOperationsTool": (".git.bitbucket_operations_tool", False),
|
52
|
+
"CloneRepoTool": (".git.clone_repo_tool", False),
|
53
|
+
"GitOperationsTool": (".git.git_operations_tool", False),
|
54
|
+
"GoogleNewsTool": (".google_packages.google_news_tool", False),
|
55
|
+
"GrepAppTool": (".grep_app_tool", False),
|
56
|
+
"LLMImageGenerationTool": (".image_generation.dalle_e", False),
|
57
|
+
"InputQuestionTool": (".input_question_tool", False),
|
58
|
+
"JinjaTool": (".jinja_tool", False),
|
59
|
+
"ListDirectoryTool": (".list_directory_tool", False),
|
60
|
+
"LLMTool": (".llm_tool", False),
|
61
|
+
"LLMVisionTool": (".llm_vision_tool", False),
|
62
|
+
"MarkitdownTool": (".markitdown_tool", False),
|
63
|
+
"NasaApodTool": (".nasa_packages.nasa_apod_tool", False),
|
64
|
+
"NasaNeoWsTool": (".nasa_packages.nasa_neows_tool", False),
|
65
|
+
"NodeJsTool": (".nodejs_tool", False),
|
66
|
+
"PresentationLLMTool": (".presentation_tools.presentation_llm_tool", False),
|
67
|
+
"ProductHuntTool": (".product_hunt.product_hunt_tool", False),
|
68
|
+
"PythonTool": (".python_tool", False),
|
69
|
+
"RagTool": (".rag_tool.rag_tool", False),
|
70
|
+
"ReadFileBlockTool": (".read_file_block_tool", False),
|
71
|
+
"ReadFileTool": (".read_file_tool", False),
|
72
|
+
"ReadHTMLTool": (".read_html_tool", False),
|
73
|
+
"ReplaceInFileTool": (".replace_in_file_tool", False),
|
74
|
+
"RipgrepTool": (".ripgrep_tool", False),
|
75
|
+
"SafePythonInterpreterTool": (".safe_python_interpreter_tool", False),
|
76
|
+
"SearchDefinitionNames": (".search_definition_names", False),
|
77
|
+
"SequenceTool": (".sequence_tool", False),
|
78
|
+
"SerpApiSearchTool": (".serpapi_search_tool", False),
|
79
|
+
"SQLQueryTool": (".sql_query_tool", False),
|
80
|
+
"TaskCompleteTool": (".task_complete_tool", False),
|
81
|
+
"Tool": (".tool", False),
|
82
|
+
"ToolArgument": (".tool", False),
|
83
|
+
"UnifiedDiffTool": (".unified_diff_tool", False),
|
84
|
+
"CSVProcessorTool": (".utilities.csv_processor_tool", False),
|
85
|
+
"PrepareDownloadTool": (".utilities.download_file_tool", False),
|
86
|
+
"MermaidValidatorTool": (".utilities.mermaid_validator_tool", False),
|
87
|
+
"WikipediaSearchTool": (".wikipedia_search_tool", False),
|
88
|
+
"WriteFileTool": (".write_file_tool", False),
|
89
|
+
}
|
90
|
+
|
91
|
+
# Create lazy loaders for each module path
|
92
|
+
_lazy_modules: Dict[str, LazyLoader] = {}
|
93
|
+
for tool, (path, optional) in _TOOL_IMPORTS.items():
|
94
|
+
full_path = f"{__package__}{path}"
|
95
|
+
if full_path not in _lazy_modules:
|
96
|
+
_lazy_modules[full_path] = LazyLoader(full_path, optional)
|
97
|
+
|
98
|
+
# Set up attributes for lazy loading
|
99
|
+
_tools_to_lazy_modules = {}
|
100
|
+
for tool, (path, optional) in _TOOL_IMPORTS.items():
|
101
|
+
full_path = f"{__package__}{path}"
|
102
|
+
_tools_to_lazy_modules[tool] = _lazy_modules[full_path]
|
103
|
+
|
104
|
+
# Define __all__ so that import * works properly
|
105
|
+
__all__ = list(_TOOL_IMPORTS.keys())
|
106
|
+
|
107
|
+
# Set up lazy loading for each tool
|
108
|
+
for tool, lazy_module in _tools_to_lazy_modules.items():
|
109
|
+
# This will create properties that lazily load the requested tool
|
110
|
+
setattr(sys.modules[__name__], tool, getattr(lazy_module, tool))
|
@@ -1,101 +0,0 @@
|
|
1
|
-
"""Tools for the QuantaLogic agent."""
|
2
|
-
|
3
|
-
import importlib
|
4
|
-
import sys
|
5
|
-
from typing import Any, Dict
|
6
|
-
|
7
|
-
|
8
|
-
class LazyLoader:
|
9
|
-
"""
|
10
|
-
Lazily import a module only when its attributes are accessed.
|
11
|
-
This helps reduce startup time by deferring imports until needed.
|
12
|
-
"""
|
13
|
-
def __init__(self, module_path: str):
|
14
|
-
self.module_path = module_path
|
15
|
-
self._module = None
|
16
|
-
|
17
|
-
def __getattr__(self, name: str) -> Any:
|
18
|
-
if self._module is None:
|
19
|
-
self._module = importlib.import_module(self.module_path)
|
20
|
-
return getattr(self._module, name)
|
21
|
-
|
22
|
-
|
23
|
-
# Map of tool names to their import paths
|
24
|
-
_TOOL_IMPORTS = {
|
25
|
-
"AgentTool": ".agent_tool",
|
26
|
-
"ComposioTool": ".composio.composio",
|
27
|
-
"GenerateDatabaseReportTool": ".database.generate_database_report_tool",
|
28
|
-
"SQLQueryToolAdvanced": ".database.sql_query_tool_advanced",
|
29
|
-
"MarkdownToDocxTool": ".document_tools.markdown_to_docx_tool",
|
30
|
-
"MarkdownToEpubTool": ".document_tools.markdown_to_epub_tool",
|
31
|
-
"MarkdownToHtmlTool": ".document_tools.markdown_to_html_tool",
|
32
|
-
"MarkdownToIpynbTool": ".document_tools.markdown_to_ipynb_tool",
|
33
|
-
"MarkdownToLatexTool": ".document_tools.markdown_to_latex_tool",
|
34
|
-
"MarkdownToPdfTool": ".document_tools.markdown_to_pdf_tool",
|
35
|
-
"MarkdownToPptxTool": ".document_tools.markdown_to_pptx_tool",
|
36
|
-
"DownloadHttpFileTool": ".download_http_file_tool",
|
37
|
-
"DuckDuckGoSearchTool": ".duckduckgo_search_tool",
|
38
|
-
"EditWholeContentTool": ".edit_whole_content_tool",
|
39
|
-
"ElixirTool": ".elixir_tool",
|
40
|
-
"ExecuteBashCommandTool": ".execute_bash_command_tool",
|
41
|
-
"BitbucketCloneTool": ".git.bitbucket_clone_repo_tool",
|
42
|
-
"BitbucketOperationsTool": ".git.bitbucket_operations_tool",
|
43
|
-
"CloneRepoTool": ".git.clone_repo_tool",
|
44
|
-
"GitOperationsTool": ".git.git_operations_tool",
|
45
|
-
"GoogleNewsTool": ".google_packages.google_news_tool",
|
46
|
-
"GrepAppTool": ".grep_app_tool",
|
47
|
-
"LLMImageGenerationTool": ".image_generation.dalle_e",
|
48
|
-
"InputQuestionTool": ".input_question_tool",
|
49
|
-
"JinjaTool": ".jinja_tool",
|
50
|
-
"ListDirectoryTool": ".list_directory_tool",
|
51
|
-
"LLMTool": ".llm_tool",
|
52
|
-
"LLMVisionTool": ".llm_vision_tool",
|
53
|
-
"MarkitdownTool": ".markitdown_tool",
|
54
|
-
"NasaApodTool": ".nasa_packages.nasa_apod_tool",
|
55
|
-
"NasaNeoWsTool": ".nasa_packages.nasa_neows_tool",
|
56
|
-
"NodeJsTool": ".nodejs_tool",
|
57
|
-
"PresentationLLMTool": ".presentation_tools.presentation_llm_tool",
|
58
|
-
"ProductHuntTool": ".product_hunt.product_hunt_tool",
|
59
|
-
"PythonTool": ".python_tool",
|
60
|
-
"RagTool": ".rag_tool.rag_tool",
|
61
|
-
"ReadFileBlockTool": ".read_file_block_tool",
|
62
|
-
"ReadFileTool": ".read_file_tool",
|
63
|
-
"ReadHTMLTool": ".read_html_tool",
|
64
|
-
"ReplaceInFileTool": ".replace_in_file_tool",
|
65
|
-
"RipgrepTool": ".ripgrep_tool",
|
66
|
-
"SafePythonInterpreterTool": ".safe_python_interpreter_tool",
|
67
|
-
"SearchDefinitionNames": ".search_definition_names",
|
68
|
-
"SequenceTool": ".sequence_tool",
|
69
|
-
"SerpApiSearchTool": ".serpapi_search_tool",
|
70
|
-
"SQLQueryTool": ".sql_query_tool",
|
71
|
-
"TaskCompleteTool": ".task_complete_tool",
|
72
|
-
"Tool": ".tool",
|
73
|
-
"ToolArgument": ".tool",
|
74
|
-
"UnifiedDiffTool": ".unified_diff_tool",
|
75
|
-
"CSVProcessorTool": ".utilities.csv_processor_tool",
|
76
|
-
"PrepareDownloadTool": ".utilities.download_file_tool",
|
77
|
-
"MermaidValidatorTool": ".utilities.mermaid_validator_tool",
|
78
|
-
"WikipediaSearchTool": ".wikipedia_search_tool",
|
79
|
-
"WriteFileTool": ".write_file_tool",
|
80
|
-
}
|
81
|
-
|
82
|
-
# Create lazy loaders for each module path
|
83
|
-
_lazy_modules: Dict[str, LazyLoader] = {}
|
84
|
-
for tool, path in _TOOL_IMPORTS.items():
|
85
|
-
full_path = f"{__package__}{path}"
|
86
|
-
if full_path not in _lazy_modules:
|
87
|
-
_lazy_modules[full_path] = LazyLoader(full_path)
|
88
|
-
|
89
|
-
# Set up attributes for lazy loading
|
90
|
-
_tools_to_lazy_modules = {}
|
91
|
-
for tool, path in _TOOL_IMPORTS.items():
|
92
|
-
full_path = f"{__package__}{path}"
|
93
|
-
_tools_to_lazy_modules[tool] = _lazy_modules[full_path]
|
94
|
-
|
95
|
-
# Define __all__ so that import * works properly
|
96
|
-
__all__ = list(_TOOL_IMPORTS.keys())
|
97
|
-
|
98
|
-
# Set up lazy loading for each tool
|
99
|
-
for tool, lazy_module in _tools_to_lazy_modules.items():
|
100
|
-
# This will create properties that lazily load the requested tool
|
101
|
-
setattr(sys.modules[__name__], tool, getattr(lazy_module, tool))
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/database/sql_query_tool_advanced.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_docx_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_epub_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_html_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_ipynb_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_latex_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_pdf_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/document_tools/markdown_to_pptx_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/market_intelligence_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/finance/technical_analysis_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/git/bitbucket_clone_repo_tool.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/git/bitbucket_operations_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/google_packages/google_news_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/cpp_handler.py
RENAMED
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/java_handler.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/javascript_handler.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/python_handler.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/rust_handler.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/scala_handler.py
RENAMED
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/language_handlers/typescript_handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/nasa_packages/nasa_neows_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/product_hunt/product_hunt_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utilities/mermaid_validator_tool.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/tools/utils/generate_database_report.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quantalogic-0.50.1 → quantalogic-0.50.2}/quantalogic/utils/get_quantalogic_rules_content.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|