quantalogic 0.35.0__py3-none-any.whl → 0.40.0__py3-none-any.whl
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/__init__.py +0 -4
- quantalogic/agent.py +603 -363
- quantalogic/agent_config.py +233 -46
- quantalogic/agent_factory.py +34 -22
- quantalogic/coding_agent.py +16 -14
- quantalogic/config.py +2 -1
- quantalogic/console_print_events.py +4 -8
- quantalogic/console_print_token.py +2 -2
- quantalogic/docs_cli.py +15 -10
- quantalogic/event_emitter.py +258 -83
- quantalogic/flow/__init__.py +23 -0
- quantalogic/flow/flow.py +595 -0
- quantalogic/flow/flow_extractor.py +672 -0
- quantalogic/flow/flow_generator.py +89 -0
- quantalogic/flow/flow_manager.py +407 -0
- quantalogic/flow/flow_manager_schema.py +169 -0
- quantalogic/flow/flow_yaml.md +419 -0
- quantalogic/generative_model.py +109 -77
- quantalogic/get_model_info.py +5 -5
- quantalogic/interactive_text_editor.py +100 -73
- quantalogic/main.py +17 -21
- quantalogic/model_info_list.py +3 -3
- quantalogic/model_info_litellm.py +14 -14
- quantalogic/prompts.py +2 -1
- quantalogic/{llm.py → quantlitellm.py} +29 -39
- quantalogic/search_agent.py +4 -4
- quantalogic/server/models.py +4 -1
- quantalogic/task_file_reader.py +5 -5
- quantalogic/task_runner.py +20 -20
- quantalogic/tool_manager.py +10 -21
- quantalogic/tools/__init__.py +98 -68
- quantalogic/tools/composio/composio.py +416 -0
- quantalogic/tools/{generate_database_report_tool.py → database/generate_database_report_tool.py} +4 -9
- quantalogic/tools/database/sql_query_tool_advanced.py +261 -0
- quantalogic/tools/document_tools/markdown_to_docx_tool.py +620 -0
- quantalogic/tools/document_tools/markdown_to_epub_tool.py +438 -0
- quantalogic/tools/document_tools/markdown_to_html_tool.py +362 -0
- quantalogic/tools/document_tools/markdown_to_ipynb_tool.py +319 -0
- quantalogic/tools/document_tools/markdown_to_latex_tool.py +420 -0
- quantalogic/tools/document_tools/markdown_to_pdf_tool.py +623 -0
- quantalogic/tools/document_tools/markdown_to_pptx_tool.py +319 -0
- quantalogic/tools/duckduckgo_search_tool.py +2 -4
- quantalogic/tools/finance/alpha_vantage_tool.py +440 -0
- quantalogic/tools/finance/ccxt_tool.py +373 -0
- quantalogic/tools/finance/finance_llm_tool.py +387 -0
- quantalogic/tools/finance/google_finance.py +192 -0
- quantalogic/tools/finance/market_intelligence_tool.py +520 -0
- quantalogic/tools/finance/technical_analysis_tool.py +491 -0
- quantalogic/tools/finance/tradingview_tool.py +336 -0
- quantalogic/tools/finance/yahoo_finance.py +236 -0
- quantalogic/tools/git/bitbucket_clone_repo_tool.py +181 -0
- quantalogic/tools/git/bitbucket_operations_tool.py +326 -0
- quantalogic/tools/git/clone_repo_tool.py +189 -0
- quantalogic/tools/git/git_operations_tool.py +532 -0
- quantalogic/tools/google_packages/google_news_tool.py +480 -0
- quantalogic/tools/grep_app_tool.py +123 -186
- quantalogic/tools/{dalle_e.py → image_generation/dalle_e.py} +37 -27
- quantalogic/tools/jinja_tool.py +6 -10
- quantalogic/tools/language_handlers/__init__.py +22 -9
- quantalogic/tools/list_directory_tool.py +131 -42
- quantalogic/tools/llm_tool.py +45 -15
- quantalogic/tools/llm_vision_tool.py +59 -7
- quantalogic/tools/markitdown_tool.py +17 -5
- quantalogic/tools/nasa_packages/models.py +47 -0
- quantalogic/tools/nasa_packages/nasa_apod_tool.py +232 -0
- quantalogic/tools/nasa_packages/nasa_neows_tool.py +147 -0
- quantalogic/tools/nasa_packages/services.py +82 -0
- quantalogic/tools/presentation_tools/presentation_llm_tool.py +396 -0
- quantalogic/tools/product_hunt/product_hunt_tool.py +258 -0
- quantalogic/tools/product_hunt/services.py +63 -0
- quantalogic/tools/rag_tool/__init__.py +48 -0
- quantalogic/tools/rag_tool/document_metadata.py +15 -0
- quantalogic/tools/rag_tool/query_response.py +20 -0
- quantalogic/tools/rag_tool/rag_tool.py +566 -0
- quantalogic/tools/rag_tool/rag_tool_beta.py +264 -0
- quantalogic/tools/read_html_tool.py +24 -38
- quantalogic/tools/replace_in_file_tool.py +10 -10
- quantalogic/tools/safe_python_interpreter_tool.py +10 -24
- quantalogic/tools/search_definition_names.py +2 -2
- quantalogic/tools/sequence_tool.py +14 -23
- quantalogic/tools/sql_query_tool.py +17 -19
- quantalogic/tools/tool.py +39 -15
- quantalogic/tools/unified_diff_tool.py +1 -1
- quantalogic/tools/utilities/csv_processor_tool.py +234 -0
- quantalogic/tools/utilities/download_file_tool.py +179 -0
- quantalogic/tools/utilities/mermaid_validator_tool.py +661 -0
- quantalogic/tools/utils/__init__.py +1 -4
- quantalogic/tools/utils/create_sample_database.py +24 -38
- quantalogic/tools/utils/generate_database_report.py +74 -82
- quantalogic/tools/wikipedia_search_tool.py +17 -21
- quantalogic/utils/ask_user_validation.py +1 -1
- quantalogic/utils/async_utils.py +35 -0
- quantalogic/utils/check_version.py +3 -5
- quantalogic/utils/get_all_models.py +2 -1
- quantalogic/utils/git_ls.py +21 -7
- quantalogic/utils/lm_studio_model_info.py +9 -7
- quantalogic/utils/python_interpreter.py +113 -43
- quantalogic/utils/xml_utility.py +178 -0
- quantalogic/version_check.py +1 -1
- quantalogic/welcome_message.py +7 -7
- quantalogic/xml_parser.py +0 -1
- {quantalogic-0.35.0.dist-info → quantalogic-0.40.0.dist-info}/METADATA +41 -1
- quantalogic-0.40.0.dist-info/RECORD +148 -0
- quantalogic-0.35.0.dist-info/RECORD +0 -102
- {quantalogic-0.35.0.dist-info → quantalogic-0.40.0.dist-info}/LICENSE +0 -0
- {quantalogic-0.35.0.dist-info → quantalogic-0.40.0.dist-info}/WHEEL +0 -0
- {quantalogic-0.35.0.dist-info → quantalogic-0.40.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,178 @@
|
|
1
|
+
import re
|
2
|
+
from typing import List, Type, TypeVar
|
3
|
+
|
4
|
+
from lxml import etree
|
5
|
+
from pydantic import BaseModel, Field
|
6
|
+
|
7
|
+
# Type variable for Pydantic model compatibility
|
8
|
+
T = TypeVar("T", bound=BaseModel)
|
9
|
+
|
10
|
+
|
11
|
+
def get_localname(tag: str) -> str:
|
12
|
+
"""
|
13
|
+
Extract the local name from a namespaced tag.
|
14
|
+
|
15
|
+
Args:
|
16
|
+
tag: The tag name, potentially with a namespace (e.g., '{http://example.com}name').
|
17
|
+
|
18
|
+
Returns:
|
19
|
+
The tag’s local name (e.g., 'name').
|
20
|
+
"""
|
21
|
+
return re.sub(r"^\{.*\}", "", tag)
|
22
|
+
|
23
|
+
|
24
|
+
def element_to_dict(element):
|
25
|
+
"""
|
26
|
+
Recursively convert an XML element to a dictionary for Pydantic parsing.
|
27
|
+
|
28
|
+
Args:
|
29
|
+
element: An lxml.etree.Element object.
|
30
|
+
|
31
|
+
Returns:
|
32
|
+
A dictionary representing the element’s structure.
|
33
|
+
- Attributes use '@' prefix (e.g., '@id').
|
34
|
+
- Text content (including CDATA) is stored as '#text'.
|
35
|
+
- Repeated tags become lists.
|
36
|
+
"""
|
37
|
+
result = {}
|
38
|
+
|
39
|
+
# Capture attributes with '@' prefix
|
40
|
+
if element.attrib:
|
41
|
+
for key, value in element.attrib.items():
|
42
|
+
result[f"@{get_localname(key)}"] = value
|
43
|
+
|
44
|
+
# Handle text content (including CDATA) if present
|
45
|
+
if element.text and element.text.strip():
|
46
|
+
result["#text"] = element.text.strip()
|
47
|
+
|
48
|
+
# Process child elements
|
49
|
+
for child in element:
|
50
|
+
child_dict = element_to_dict(child)
|
51
|
+
local_tag = get_localname(child.tag)
|
52
|
+
|
53
|
+
if local_tag in result:
|
54
|
+
# Convert to list for repeated tags
|
55
|
+
if not isinstance(result[local_tag], list):
|
56
|
+
result[local_tag] = [result[local_tag]]
|
57
|
+
result[local_tag].append(child_dict)
|
58
|
+
else:
|
59
|
+
result[local_tag] = child_dict
|
60
|
+
|
61
|
+
# For simple leaf elements with no children, attributes or just text content
|
62
|
+
# This optimization avoids unnecessary nesting but preserves structure for complex types
|
63
|
+
if (
|
64
|
+
len(element) == 0
|
65
|
+
and not element.attrib
|
66
|
+
and len(result) == 1
|
67
|
+
and "#text" in result
|
68
|
+
and
|
69
|
+
# Don't simplify these elements, they should remain as dictionaries
|
70
|
+
get_localname(element.tag) not in ["description"]
|
71
|
+
):
|
72
|
+
return result["#text"]
|
73
|
+
|
74
|
+
return result
|
75
|
+
|
76
|
+
|
77
|
+
def parse_xml_to_model(xml_content: str, model: Type[T]) -> T:
|
78
|
+
"""
|
79
|
+
Parse XML content into a Pydantic V2 model instance with fault tolerance.
|
80
|
+
|
81
|
+
Args:
|
82
|
+
xml_content: A string of XML data.
|
83
|
+
model: The Pydantic model class to instantiate.
|
84
|
+
|
85
|
+
Returns:
|
86
|
+
An instance of the specified Pydantic model, using defaults for missing fields.
|
87
|
+
|
88
|
+
Raises:
|
89
|
+
etree.XMLSyntaxError: If XML parsing fails despite recovery attempts.
|
90
|
+
pydantic.ValidationError: If data doesn’t match the model (after defaults).
|
91
|
+
"""
|
92
|
+
# Parse XML with fault-tolerant settings
|
93
|
+
parser = etree.XMLParser(recover=True)
|
94
|
+
root = etree.fromstring(xml_content, parser=parser)
|
95
|
+
# Convert to dictionary
|
96
|
+
data = element_to_dict(root)
|
97
|
+
# Validate and create Pydantic model instance, applying defaults
|
98
|
+
return model.model_validate(data)
|
99
|
+
|
100
|
+
|
101
|
+
# Test Models with Default Values
|
102
|
+
class Person(BaseModel):
|
103
|
+
name: str = "Unnamed" # Default value for missing name
|
104
|
+
age: int = 0 # Default value for missing age
|
105
|
+
|
106
|
+
|
107
|
+
class Description(BaseModel):
|
108
|
+
content: str = Field(default="No description", alias="#text")
|
109
|
+
type: str = Field(default="unknown", alias="@type")
|
110
|
+
|
111
|
+
|
112
|
+
class Item(BaseModel):
|
113
|
+
description: Description = Field(default_factory=lambda: Description(content="Default content", type="default"))
|
114
|
+
|
115
|
+
|
116
|
+
class People(BaseModel):
|
117
|
+
person: List[Person] = Field(default_factory=lambda: [Person(name="Default Person", age=99)])
|
118
|
+
|
119
|
+
|
120
|
+
def main():
|
121
|
+
"""Run example tests to demonstrate XML parsing with Pydantic default values."""
|
122
|
+
# Test 1: Simple XML with all fields present
|
123
|
+
print("Test 1: Simple XML (all fields present)")
|
124
|
+
xml1 = """
|
125
|
+
<person>
|
126
|
+
<name>John</name>
|
127
|
+
<age>30</age>
|
128
|
+
</person>
|
129
|
+
"""
|
130
|
+
person = parse_xml_to_model(xml1, Person)
|
131
|
+
print(f"Result: {person}")
|
132
|
+
|
133
|
+
# Test 2: Missing element (use default for age)
|
134
|
+
print("\nTest 2: Missing element (default age)")
|
135
|
+
xml2 = """
|
136
|
+
<person>
|
137
|
+
<name>Jane</name>
|
138
|
+
</person>
|
139
|
+
"""
|
140
|
+
person = parse_xml_to_model(xml2, Person)
|
141
|
+
print(f"Result: {person}")
|
142
|
+
|
143
|
+
# Test 3: Attributes and CDATA with missing attribute
|
144
|
+
print("\nTest 3: Missing attribute (default type)")
|
145
|
+
xml3 = """
|
146
|
+
<item>
|
147
|
+
<description><![CDATA[This is text]]></description>
|
148
|
+
</item>
|
149
|
+
"""
|
150
|
+
item = parse_xml_to_model(xml3, Item)
|
151
|
+
print(f"Result: {item}")
|
152
|
+
|
153
|
+
# Test 4: Empty XML (use default for nested object)
|
154
|
+
print("\nTest 4: Empty XML (default Item)")
|
155
|
+
xml4 = "<item></item>"
|
156
|
+
item = parse_xml_to_model(xml4, Item)
|
157
|
+
print(f"Result: {item}")
|
158
|
+
|
159
|
+
# Test 5: Repeated elements with partial data
|
160
|
+
print("\nTest 5: Repeated elements (partial data)")
|
161
|
+
xml5 = """
|
162
|
+
<people>
|
163
|
+
<person><name>John</name></person>
|
164
|
+
<person><age>25</age></person>
|
165
|
+
</people>
|
166
|
+
"""
|
167
|
+
people = parse_xml_to_model(xml5, People)
|
168
|
+
print(f"Result: {people}")
|
169
|
+
|
170
|
+
# Test 6: Completely empty root (use default list)
|
171
|
+
print("\nTest 6: Empty root (default People)")
|
172
|
+
xml6 = "<people></people>"
|
173
|
+
people = parse_xml_to_model(xml6, People)
|
174
|
+
print(f"Result: {people}")
|
175
|
+
|
176
|
+
|
177
|
+
if __name__ == "__main__":
|
178
|
+
main()
|
quantalogic/version_check.py
CHANGED
@@ -11,7 +11,7 @@ from quantalogic.version import get_version
|
|
11
11
|
|
12
12
|
def check_new_version() -> None:
|
13
13
|
"""Randomly check for updates and display a notification if a new version is available.
|
14
|
-
|
14
|
+
|
15
15
|
This function has a 1 in 10 chance of running when called. When it runs, it checks
|
16
16
|
if there's a newer version of the package available and displays an update panel
|
17
17
|
with installation instructions if a new version is found.
|
quantalogic/welcome_message.py
CHANGED
@@ -35,16 +35,16 @@ def create_tips_section() -> str:
|
|
35
35
|
|
36
36
|
def display_welcome_message(
|
37
37
|
console: Console,
|
38
|
-
model_name: str,
|
38
|
+
model_name: str,
|
39
39
|
version: str,
|
40
|
-
vision_model_name: str | None = None,
|
41
|
-
max_iterations: int = 50,
|
40
|
+
vision_model_name: str | None = None,
|
41
|
+
max_iterations: int = 50,
|
42
42
|
compact_every_n_iteration: int | None = None,
|
43
43
|
max_tokens_working_memory: int | None = None,
|
44
44
|
mode: str = "basic",
|
45
45
|
) -> None:
|
46
46
|
"""Display a welcome message and instructions for the QuantaLogic AI Assistant.
|
47
|
-
|
47
|
+
|
48
48
|
Args:
|
49
49
|
console: Rich Console instance for rendering output
|
50
50
|
model_name: Name of the language model being used
|
@@ -63,7 +63,7 @@ def display_welcome_message(
|
|
63
63
|
compact_every_n_iteration,
|
64
64
|
max_tokens_working_memory,
|
65
65
|
)
|
66
|
-
|
66
|
+
|
67
67
|
tips_section = create_tips_section()
|
68
68
|
|
69
69
|
welcome_content = (
|
@@ -74,7 +74,7 @@ def display_welcome_message(
|
|
74
74
|
"[bold magenta]Pro Tips[/bold magenta]\n"
|
75
75
|
f"{tips_section}\n"
|
76
76
|
)
|
77
|
-
|
77
|
+
|
78
78
|
welcome_panel = Panel(
|
79
79
|
welcome_content,
|
80
80
|
border_style="blue",
|
@@ -82,5 +82,5 @@ def display_welcome_message(
|
|
82
82
|
subtitle="[bold cyan]Ready to assist you[/bold cyan]",
|
83
83
|
padding=(1, 2),
|
84
84
|
)
|
85
|
-
|
85
|
+
|
86
86
|
console.print(welcome_panel)
|
quantalogic/xml_parser.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: quantalogic
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.40.0
|
4
4
|
Summary: QuantaLogic ReAct Agents
|
5
5
|
Author: Raphaël MANSUY
|
6
6
|
Author-email: raphael.mansuy@gmail.com
|
@@ -9,20 +9,41 @@ 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: beautifulsoup4 (>=4.12.3,<5.0.0)
|
12
|
+
Requires-Dist: bibtexparser (>=1.4.3,<2.0.0)
|
12
13
|
Requires-Dist: boto3 (>=1.35.86,<2.0.0)
|
14
|
+
Requires-Dist: ccxt (>=4.4.61,<5.0.0)
|
15
|
+
Requires-Dist: chromadb (>=0.6.3,<0.7.0)
|
13
16
|
Requires-Dist: click (>=8.1.8,<9.0.0)
|
17
|
+
Requires-Dist: composio (>=0.1.1,<0.2.0)
|
14
18
|
Requires-Dist: duckduckgo-search (>=7.2.1,<8.0.0)
|
19
|
+
Requires-Dist: ebooklib (>=0.18,<0.19)
|
20
|
+
Requires-Dist: epub (>=0.5.2,<0.6.0)
|
21
|
+
Requires-Dist: faiss-cpu (>=1.10.0,<2.0.0)
|
15
22
|
Requires-Dist: faker (>=33.3.1,<34.0.0)
|
16
23
|
Requires-Dist: fastapi (>=0.115.6,<0.116.0)
|
17
24
|
Requires-Dist: fuzzywuzzy (>=0.18.0,<0.19.0)
|
25
|
+
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
|
26
|
+
Requires-Dist: gnews (>=0.4.0,<0.5.0)
|
18
27
|
Requires-Dist: google-auth (>=2.20.0,<3.0.0)
|
19
28
|
Requires-Dist: google-search-results (>=2.4.2,<3.0.0)
|
29
|
+
Requires-Dist: html2text (>=2024.2.26,<2025.0.0)
|
30
|
+
Requires-Dist: instructor (>=1.7.2,<2.0.0)
|
31
|
+
Requires-Dist: ipython (>=8.32.0,<9.0.0)
|
20
32
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
21
33
|
Requires-Dist: litellm (>=1.56.4,<2.0.0)
|
34
|
+
Requires-Dist: llama-index (>=0.12.19,<0.13.0)
|
35
|
+
Requires-Dist: llama-index-embeddings-bedrock (>=0.5.0,<0.6.0)
|
36
|
+
Requires-Dist: llama-index-embeddings-huggingface (>=0.5.1,<0.6.0)
|
37
|
+
Requires-Dist: llama-index-embeddings-instructor (>=0.3.0,<0.4.0)
|
38
|
+
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
39
|
+
Requires-Dist: llama-index-vector-stores-chroma (>=0.4.1,<0.5.0)
|
40
|
+
Requires-Dist: llama-index-vector-stores-faiss (>=0.3.0,<0.4.0)
|
22
41
|
Requires-Dist: llmlingua (>=0.2.2,<0.3.0)
|
23
42
|
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
43
|
+
Requires-Dist: markdown (>=3.7,<4.0)
|
24
44
|
Requires-Dist: markdownify (>=0.14.1,<0.15.0)
|
25
45
|
Requires-Dist: markitdown (>=0.0.1a3,<0.0.2)
|
46
|
+
Requires-Dist: mermaid-py (>=0.7.0,<0.8.0)
|
26
47
|
Requires-Dist: mkdocs-git-revision-date-localized-plugin (>=1.2.0,<2.0.0)
|
27
48
|
Requires-Dist: mkdocs-macros-plugin (>=1.0.4,<2.0.0)
|
28
49
|
Requires-Dist: mkdocs-material[imaging] (>=9.5.49,<10.0.0)
|
@@ -30,19 +51,32 @@ Requires-Dist: mkdocs-mermaid2-plugin (>=1.1.1,<2.0.0)
|
|
30
51
|
Requires-Dist: mkdocs-minify-plugin (>=0.7.1,<0.8.0)
|
31
52
|
Requires-Dist: mkdocstrings (>=0.24.0,<0.25.0)
|
32
53
|
Requires-Dist: mkdocstrings-python (>=1.7.0,<2.0.0)
|
54
|
+
Requires-Dist: nbformat (>=5.10.4,<6.0.0)
|
33
55
|
Requires-Dist: networkx (>=3.4.2,<4.0.0)
|
56
|
+
Requires-Dist: numpy (>=2.2.3,<3.0.0)
|
57
|
+
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
34
58
|
Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
59
|
+
Requires-Dist: pillow (>=10.2,<11.0)
|
60
|
+
Requires-Dist: pinecone-client (>=6.0.0,<7.0.0)
|
35
61
|
Requires-Dist: prompt-toolkit (>=3.0.48,<4.0.0)
|
36
62
|
Requires-Dist: pydantic (>=2.10.4,<3.0.0)
|
63
|
+
Requires-Dist: pygments (>=2.19.1,<3.0.0)
|
37
64
|
Requires-Dist: pymdown-extensions (>=10.3.1,<11.0.0)
|
65
|
+
Requires-Dist: pypdf (>=5.3.0,<6.0.0)
|
66
|
+
Requires-Dist: python-docx (>=1.1.2,<2.0.0)
|
38
67
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
39
68
|
Requires-Dist: python-levenshtein (>=0.26.1,<0.27.0)
|
69
|
+
Requires-Dist: python-multipart (>=0.0.20,<0.0.21)
|
70
|
+
Requires-Dist: python-pptx (>=1.0.2,<2.0.0)
|
40
71
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
41
72
|
Requires-Dist: rich (>=13.9.4,<14.0.0)
|
42
73
|
Requires-Dist: serpapi (>=0.1.5,<0.2.0)
|
43
74
|
Requires-Dist: sqlalchemy (>=2.0.37,<3.0.0)
|
75
|
+
Requires-Dist: ta (>=0.11.0,<0.12.0)
|
44
76
|
Requires-Dist: tenacity (>=9.0.0,<10.0.0)
|
45
77
|
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
78
|
+
Requires-Dist: torch (>=2.6.0,<3.0.0)
|
79
|
+
Requires-Dist: transformers (>=4.49.0,<5.0.0)
|
46
80
|
Requires-Dist: tree-sitter (>=0.23.2,<0.24.0)
|
47
81
|
Requires-Dist: tree-sitter-c (>=0.23.4,<0.24.0)
|
48
82
|
Requires-Dist: tree-sitter-cpp (>=0.23.4,<0.24.0)
|
@@ -53,9 +87,12 @@ Requires-Dist: tree-sitter-python (>=0.23.6,<0.24.0)
|
|
53
87
|
Requires-Dist: tree-sitter-rust (>=0.23.2,<0.24.0)
|
54
88
|
Requires-Dist: tree-sitter-scala (>=0.23.4,<0.24.0)
|
55
89
|
Requires-Dist: tree-sitter-typescript (>=0.23.2,<0.24.0)
|
90
|
+
Requires-Dist: tvDatafeed @ git+https://github.com/rongardF/tvdatafeed.git
|
56
91
|
Requires-Dist: types-requests (>=2.32.0.20241016,<3.0.0.0)
|
57
92
|
Requires-Dist: uvicorn (>=0.34.0,<0.35.0)
|
93
|
+
Requires-Dist: weasyprint (>=64.0,<65.0)
|
58
94
|
Requires-Dist: websocket (>=0.2.1,<0.3.0)
|
95
|
+
Requires-Dist: yfinance (>=0.2.53,<0.3.0)
|
59
96
|
Description-Content-Type: text/markdown
|
60
97
|
|
61
98
|
# QuantaLogic
|
@@ -355,6 +392,9 @@ The core agent implements the `ReAct`paradigm, combining:
|
|
355
392
|
- Event handling
|
356
393
|
- Task validation
|
357
394
|
|
395
|
+
QuantaLogic offers both synchronous (`solve_task`) and asynchronous (`async_solve_task`) methods for solving tasks using the ReAct framework. The `async_solve_task` function is specifically designed for asynchronous environments like web servers, allowing for non-blocking execution and improved responsiveness. It takes a task description as input and iteratively reasons and acts upon it using available tools until the task is completed or a maximum number of iterations is reached. This asynchronous approach ensures that the agent can handle complex tasks without tying up resources, making it suitable for applications requiring concurrency and scalability.
|
396
|
+
|
397
|
+
|
358
398
|
```python
|
359
399
|
from quantalogic import Agent
|
360
400
|
from quantalogic.tools import PythonTool, ReadFileTool
|
@@ -0,0 +1,148 @@
|
|
1
|
+
quantalogic/__init__.py,sha256=TWC4r1-av6ZZ2RdZ4FBU0oPYZQVPOv0p6gmEey1e4lQ,776
|
2
|
+
quantalogic/agent.py,sha256=1sZfPmQGLG6sJKoeVp59JN666anywVRWkZk4xZT4160,43298
|
3
|
+
quantalogic/agent_config.py,sha256=RTB7VPK_Sxs1OqIDv1c3t9W25JRRfvpxMVmiumtzTVU,18012
|
4
|
+
quantalogic/agent_factory.py,sha256=pk_jTbRsrtXMFD42wBWncnm23zRucIjYC-EE3kHNTio,6264
|
5
|
+
quantalogic/coding_agent.py,sha256=K7BBE98l1wwE7USOTPWOnPA3jjSABkTzNPHNXx1cYWo,5492
|
6
|
+
quantalogic/config.py,sha256=lsJxfWFWEMqS2Asus8z4A3W7X8JWoMi3-VHxfltvSfA,423
|
7
|
+
quantalogic/console_print_events.py,sha256=yDtfOr7s5r_gLTgwkl_XoKSkUqNRZhqqq4hwR_oJsUw,2050
|
8
|
+
quantalogic/console_print_token.py,sha256=5IRVoPhwWZtSc4LpNoAsCQhCB_RnAW9chycGgyD3_5U,437
|
9
|
+
quantalogic/docs_cli.py,sha256=Ie6NwKQuxLKwVQ-cjhFMCttXeiHDjGhNY4hSmMtc0Qg,1664
|
10
|
+
quantalogic/event_emitter.py,sha256=e_1r6hvx5GmW84iuRkoqcjpjRiYHBk4hzujd5ZoUC6U,16777
|
11
|
+
quantalogic/flow/__init__.py,sha256=asLVwbDH6zVFhILschBOuZZWyKvMGdqhQbB1rd2RXHo,590
|
12
|
+
quantalogic/flow/flow.py,sha256=-rePJXUSZFpBkfhpoAHktX-ISSQSICyog9U7bXUMgow,24931
|
13
|
+
quantalogic/flow/flow_extractor.py,sha256=UsE8FP1NHlMQYyjmvsQQQvldKws5BshI4N-K234zJy0,29817
|
14
|
+
quantalogic/flow/flow_generator.py,sha256=WmRE3zcGpSryjmc8ambSDW2QVUbAXYo2VfANJP1x8po,3878
|
15
|
+
quantalogic/flow/flow_manager.py,sha256=UaI1MLThruGSDXAFVpLfCop5QrT2jh_UWWScc5ZE_nw,18065
|
16
|
+
quantalogic/flow/flow_manager_schema.py,sha256=BMy1hoEZCxRDcEXfG2u4pwwdfn10Y-iho37SO9Cii3c,7268
|
17
|
+
quantalogic/flow/flow_yaml.md,sha256=fHGL7xP8XA1mYk8PdJMN83nqUS9rETjzMPEjxR3l7H0,14462
|
18
|
+
quantalogic/generative_model.py,sha256=os30wdVRq3OsSf8M7TjoaGqJweL99UINQtSGCwoE91k,15913
|
19
|
+
quantalogic/get_model_info.py,sha256=RgblwjjP7G97v_AzoGbXxXBIO082jVCRmvRwxnEpW_s,2991
|
20
|
+
quantalogic/interactive_text_editor.py,sha256=CzefvRiLscFfOKBS4gmrI10Gn3SF_eS5zbiLVQ9Gugw,16334
|
21
|
+
quantalogic/main.py,sha256=jVw-s-ZUyX4krq3rzFn84-i6Qw2tplTx_QmsKG03m8I,9591
|
22
|
+
quantalogic/memory.py,sha256=zbtRuM05jaS2lJll-92dt5JfYVLERnF_m_9xqp2x-k0,6304
|
23
|
+
quantalogic/model_info.py,sha256=j7QqvjEFQDGpDOgQs8uTkVyI3a50Oa_nrsQjyxizTLc,272
|
24
|
+
quantalogic/model_info_list.py,sha256=Xeeb7QS4xEpe9ke7Guh0CxEx-Hl59U4kC-qzVts-eAU,2437
|
25
|
+
quantalogic/model_info_litellm.py,sha256=PoYCqqiKnKDIoeC_GdF17TNJV7aEj-tifyR79W5S9A8,1799
|
26
|
+
quantalogic/model_names.py,sha256=UZlz25zG9B2dpfwdw_e1Gw5qFsKQ7iME9FJh9Ts4u6s,938
|
27
|
+
quantalogic/prompts.py,sha256=Vtr-GXgJw7vFUv0okzSaLc1ak1sgOh4XoRa8EI01HDM,2988
|
28
|
+
quantalogic/quantlitellm.py,sha256=c8cWIq06-iwFVuB6aBoSCY1GPMmzKfr7pm2gfHfNj8Y,5526
|
29
|
+
quantalogic/search_agent.py,sha256=tr0cwscJ4wu_G1aumjFyvGHQ0eQv5OL5sxj17s6Ocls,2470
|
30
|
+
quantalogic/server/__init__.py,sha256=8sz_PYAUCrkM6JM5EAUeIzNM4NPW6j6UT72JVkc21WQ,91
|
31
|
+
quantalogic/server/agent_server.py,sha256=VXaaWqReUSZOCX7CaKS14jria8yZn1kLEc52E2hV7ZA,22510
|
32
|
+
quantalogic/server/models.py,sha256=_j6dAx3L_w0kiP55vcC5uykJJRfChV2K3uL_xAPnsms,1447
|
33
|
+
quantalogic/server/routes.py,sha256=00nFe6s0T4Gv8vCp0wQFjWGo1tC8FViH8h0koAJdWs4,4216
|
34
|
+
quantalogic/server/state.py,sha256=TwtL0BTp_LT-fynF1IR4k8WVXuxXWtSv3NgWG9fuUME,7369
|
35
|
+
quantalogic/server/static/js/event_visualizer.js,sha256=eFkkWyNZw3zOZlF18kxbfsWql8a2C13qBFEOAPzrj88,19646
|
36
|
+
quantalogic/server/static/js/quantalogic.js,sha256=x7TrlZGR1Y0WLK2DWl1xY847BhEWMPnL0Ua7KtOldUc,22311
|
37
|
+
quantalogic/server/templates/index.html,sha256=nDnXJoQEm1vXbhXtgaYk0G5VXj0wwzE6KrqEDhHFpj4,7773
|
38
|
+
quantalogic/task_file_reader.py,sha256=oPcB4vTxJ__Y8o7VVABIPOkVw3tGDMdQYwdK27PERlE,1440
|
39
|
+
quantalogic/task_runner.py,sha256=c2QVGKZfHA0wZIBUvehpjMvtRaKZuhuYQerjIiCC9iY,10053
|
40
|
+
quantalogic/tool_manager.py,sha256=vNA7aBKgdU3wpw_goom6i9rg_64pNZapNxvg4cUhhCI,6983
|
41
|
+
quantalogic/tools/__init__.py,sha256=7_IhMLCJW3Hj1Uo0bXqFqIP71YQ2VTLBPCFCX6AnSag,4212
|
42
|
+
quantalogic/tools/agent_tool.py,sha256=MXCXxWHRch7VK4UWhtRP1jeI8Np9Ne2CUGo8vm1oZiM,3064
|
43
|
+
quantalogic/tools/composio/composio.py,sha256=icVHA_Scr1pViBhahGGBGBRBl9JSB3hGSqpgQzAIUH8,17627
|
44
|
+
quantalogic/tools/database/generate_database_report_tool.py,sha256=lGgER2VuHqnxliPM806tbwJh7WRW9HJcbBLL7QMvVBQ,1861
|
45
|
+
quantalogic/tools/database/sql_query_tool_advanced.py,sha256=Vale-5nR3e-Mm4joOBII8T1PbLcshXYbM8Mp4TJsS30,9425
|
46
|
+
quantalogic/tools/document_tools/markdown_to_docx_tool.py,sha256=r5AOyQfpcDoqQ6_g2uYyVjTEPtfeNn4mDmmefNZmJyM,22553
|
47
|
+
quantalogic/tools/document_tools/markdown_to_epub_tool.py,sha256=iFIUTty7bIuOV7nbSfCuzBvOWJBmSP1TBFxf74184X4,14031
|
48
|
+
quantalogic/tools/document_tools/markdown_to_html_tool.py,sha256=ngwU3RAj05Ghua2yqmpkpws09XYfjDpcg4MuONHNvO8,12030
|
49
|
+
quantalogic/tools/document_tools/markdown_to_ipynb_tool.py,sha256=cL5-uTBud3VA80zFoBdN5Qzv-7q7r30BmP3lktLjHu4,10940
|
50
|
+
quantalogic/tools/document_tools/markdown_to_latex_tool.py,sha256=SxQ9gdDm2KuAuI4KYqDNCUVjEmjl7qreZr2eowrG8mo,14332
|
51
|
+
quantalogic/tools/document_tools/markdown_to_pdf_tool.py,sha256=EZOXPlF2pn10XzzOVFXqOopSP35tqXuj-YrFzeS5xQg,21077
|
52
|
+
quantalogic/tools/document_tools/markdown_to_pptx_tool.py,sha256=Bg79e1us2GAjB8vUa3COk2XgXM_FUQF28zWBIitYAC8,11085
|
53
|
+
quantalogic/tools/download_http_file_tool.py,sha256=wTfanbXjIRi5-qrbluuLvNmDNhvmYAnlMVb3dO8C2ss,2210
|
54
|
+
quantalogic/tools/duckduckgo_search_tool.py,sha256=oY-aW7zbo1f39DmjwGfaXVxXRi3pKgIuTPR1vCqsX9I,6991
|
55
|
+
quantalogic/tools/edit_whole_content_tool.py,sha256=nXmpAvojvqvAcqNMy1kUKZ1ocboky_ZcnCR4SNCSPgw,2360
|
56
|
+
quantalogic/tools/elixir_tool.py,sha256=fzPPtAW-Koy9KB0r5k2zV1f1U0WphL-LXPPOBkeNkug,7652
|
57
|
+
quantalogic/tools/execute_bash_command_tool.py,sha256=YK_cMuODJDOYheZKGmlpZTxJdVbimFLCUlND2_zmyMg,6869
|
58
|
+
quantalogic/tools/finance/alpha_vantage_tool.py,sha256=2nAOTGlxKePM2VnBOtDTfHJH4WgM8ys81WDGV2SDIgo,16526
|
59
|
+
quantalogic/tools/finance/ccxt_tool.py,sha256=kCLrAzy-Zc0Bz7Ey8Jdi9RhyaQp6L7d2Q3Mnu_lPueU,15411
|
60
|
+
quantalogic/tools/finance/finance_llm_tool.py,sha256=1_lBkYCSfzNPUpHn5P2sWh3D6vGYQk1UD_dTl1naT0U,15564
|
61
|
+
quantalogic/tools/finance/google_finance.py,sha256=wry0URGQmTUYbmOmCp3TxVvzVKcFtdVkihcuG-waG4U,7344
|
62
|
+
quantalogic/tools/finance/market_intelligence_tool.py,sha256=dPHOFZ18-AwVSuwkOKAE1kypdhrFP7EcZC6Ke4Izhcc,20320
|
63
|
+
quantalogic/tools/finance/technical_analysis_tool.py,sha256=n7opf4wP8ty2EystqISfXPN89YFi0n_nguaNgaQb0To,18497
|
64
|
+
quantalogic/tools/finance/tradingview_tool.py,sha256=n4JMFkZ5tdqhT9DGPUNgb1KPOTytYoPBvUhKd7hDczc,13629
|
65
|
+
quantalogic/tools/finance/yahoo_finance.py,sha256=xzH5Rikp_KXzcyVuXlZSty0PPO-pflp3mgfZn9bR-yY,9487
|
66
|
+
quantalogic/tools/git/bitbucket_clone_repo_tool.py,sha256=Vy3J802f7gPGrnbZhfWHN1Jb36gNNxuJ71k3VI2sZ-Q,7491
|
67
|
+
quantalogic/tools/git/bitbucket_operations_tool.py,sha256=6Vdelau1VSTYREtuQgHlV-t6Te-RuQKA6oCuLUkDDcc,11802
|
68
|
+
quantalogic/tools/git/clone_repo_tool.py,sha256=FA_29pmEsy_71YSrt94M0rAUNt_rEo4TDvq2Y7-uinU,7565
|
69
|
+
quantalogic/tools/git/git_operations_tool.py,sha256=tZqY7fXXfiLkArV_18pEmqreqF6n6BALo0jFy4Hjzfs,20610
|
70
|
+
quantalogic/tools/google_packages/google_news_tool.py,sha256=BdrSlBxCZ1PfWIKzl7_aqvkoV2wVkBH3T2g3X2VBvVQ,17443
|
71
|
+
quantalogic/tools/grep_app_tool.py,sha256=qAKgqMTtoH82bEZkiNlIk5oDSgVckFgxVXhU7ieTJwc,18672
|
72
|
+
quantalogic/tools/image_generation/dalle_e.py,sha256=SYvKZ1VbdslIKUKBy3nC0jD680-ujabBQr6iK5IFAXY,10968
|
73
|
+
quantalogic/tools/input_question_tool.py,sha256=UoTlNhdmdr-eyiVtVCG2qJe_R4bU_ag-DzstSdmYkvM,1848
|
74
|
+
quantalogic/tools/jinja_tool.py,sha256=i49F6lSdTx5KMgP5Y9KKYprcc_OEc11TvEqqtDA5mas,2849
|
75
|
+
quantalogic/tools/language_handlers/__init__.py,sha256=5FSwHqTXzRL52Eme4yocw1RzOqWCVq7a5FyLEd7uSEM,1161
|
76
|
+
quantalogic/tools/language_handlers/c_handler.py,sha256=q_NiOExbnfYyzxz4C0V5B5887d_D8LYr30tTEVj4LH8,1226
|
77
|
+
quantalogic/tools/language_handlers/cpp_handler.py,sha256=7iFBuidI_yMSbC0RL4A3mKPjLWKxW7AoRrtUTlBnpyw,1241
|
78
|
+
quantalogic/tools/language_handlers/go_handler.py,sha256=v8nxfhGMRxBf1xbrP0xUd2r4HsAtu-VK9OeXpv8FRoM,1230
|
79
|
+
quantalogic/tools/language_handlers/java_handler.py,sha256=MGGqmmnec9DsXijjAyPu7XZBsK-lCQAJSpd6ZK42nio,1443
|
80
|
+
quantalogic/tools/language_handlers/javascript_handler.py,sha256=kqtm3MOazyYCYzsT-L3OtkDt54B1m3AWk0Ya9nQx4VM,1729
|
81
|
+
quantalogic/tools/language_handlers/python_handler.py,sha256=ijOQuWoKQvNvV7uo1t308sipYEbPNfZ8R-u71TStNus,1220
|
82
|
+
quantalogic/tools/language_handlers/rust_handler.py,sha256=t_AqKVa3KVk6SVkq_UjUUru0Za8ueCAnanv8w3B815A,1234
|
83
|
+
quantalogic/tools/language_handlers/scala_handler.py,sha256=wr-cWOIFOc0UYwODmEtT6rV63Qf1NyNB_BLo23GLrvk,1281
|
84
|
+
quantalogic/tools/language_handlers/typescript_handler.py,sha256=L4vuJMYxKO3_83dQhdwZ9fogauIV7rwoicRT0xLGfkQ,1738
|
85
|
+
quantalogic/tools/list_directory_tool.py,sha256=OGgori1d2EEU_0HMA_YH_0dn23M4Trp38s-XnKBx7Kg,7443
|
86
|
+
quantalogic/tools/llm_tool.py,sha256=8HOdYqHNuwIYxEYT-QWGQWWnf7iT-YoXnz5T1reFPGg,8440
|
87
|
+
quantalogic/tools/llm_vision_tool.py,sha256=u-Yd5IIeW9Aw7mUqU2wZ5tQcRtDt_tTLJZzdlZJPfnE,7724
|
88
|
+
quantalogic/tools/markitdown_tool.py,sha256=KHvazxp6zT7h6-qMCdfuH_9pHQ6rDQOI3yiGIabTSCU,4804
|
89
|
+
quantalogic/tools/nasa_packages/models.py,sha256=qydZqUL5Vyl1XZbTYhP34RbccrrCpVKQxtTd1m5PhZs,1767
|
90
|
+
quantalogic/tools/nasa_packages/nasa_apod_tool.py,sha256=t8V3nklLpRkShd27OHN0nF4RtjNEM0qC4jrDch2TgEI,7460
|
91
|
+
quantalogic/tools/nasa_packages/nasa_neows_tool.py,sha256=RBfysLwddoNZyNPhEtp6AsLECR2pIKj5pOjUbBbhCWo,4949
|
92
|
+
quantalogic/tools/nasa_packages/services.py,sha256=fifGphF99QwjJo-z2RhF3xxFRQGNoufyKNYHQY-qYvA,2882
|
93
|
+
quantalogic/tools/nodejs_tool.py,sha256=zdnE0VFj_5786uR2L0o-SKR0Gk8L-U7rdj7xGHJYIq0,19905
|
94
|
+
quantalogic/tools/presentation_tools/presentation_llm_tool.py,sha256=5fuUDE1IzeAAoWFKG5lyYt2uAo7UzwdrOxnEKfvJDJY,15782
|
95
|
+
quantalogic/tools/product_hunt/product_hunt_tool.py,sha256=vtjnV6v46BcNYlxudUCq5JIkjznQFUt8Kx9VD4KEPa8,8533
|
96
|
+
quantalogic/tools/product_hunt/services.py,sha256=ym10ZW4q8w03wIkZDnwl9d_nCoOz2WAj3N6C0qY0dfI,2280
|
97
|
+
quantalogic/tools/python_tool.py,sha256=70HLbfU2clOBgj4axDOtIKzXwEBMNGEAX1nGSf-KNNQ,18156
|
98
|
+
quantalogic/tools/rag_tool/__init__.py,sha256=c6UfjkKgduih_wf_As5UbEHPj3vUecvdUcT_xEbnMd8,1434
|
99
|
+
quantalogic/tools/rag_tool/document_metadata.py,sha256=amnnqL5POzFbc7rVq2kJ2egYS3k5P-m4HyA5AbekIq0,376
|
100
|
+
quantalogic/tools/rag_tool/query_response.py,sha256=0T9N80kNR8ZgjA7WzFBisIqdIgUiFfGeUPzYvxAHSU0,549
|
101
|
+
quantalogic/tools/rag_tool/rag_tool.py,sha256=FEccrd_IorVi1b3FzEu2huZPavSlaF-0p0IiWIGON74,21073
|
102
|
+
quantalogic/tools/rag_tool/rag_tool_beta.py,sha256=6ydWH5N2-M06p1XAsfxC8GREktIOz6AAsFTPGEZUnbU,9525
|
103
|
+
quantalogic/tools/read_file_block_tool.py,sha256=FTcDAUOOPQOvWRjnRI6nMI1Upus90klR4PC0pbPP_S8,5266
|
104
|
+
quantalogic/tools/read_file_tool.py,sha256=l6k-SOIV9krpXAmUTkxzua51S-KHgzGqkcDlD5AD8K0,2710
|
105
|
+
quantalogic/tools/read_html_tool.py,sha256=KmXTeSrQZj0L-OAwl3xZQybdAhhyAeK3wgblhXgf3oM,10999
|
106
|
+
quantalogic/tools/replace_in_file_tool.py,sha256=8cbM0MqNpQynNwbkHR7kqYoG-1JBxDjpMjHHVCwiS8w,13854
|
107
|
+
quantalogic/tools/ripgrep_tool.py,sha256=sRzHaWac9fa0cCGhECJN04jw_Ko0O3u45KDWzMIYcvY,14291
|
108
|
+
quantalogic/tools/safe_python_interpreter_tool.py,sha256=yibIVmtkcfU4dS6KNcbJPxEI7WXVVDaUk0PEr-dMCyk,7904
|
109
|
+
quantalogic/tools/search_definition_names.py,sha256=zqtaqq8aS5jdDQOkbd4wMUPFyL6Bq-4q9NWyLKdXL1E,18771
|
110
|
+
quantalogic/tools/sequence_tool.py,sha256=Hb2FSjWWACvXZX7rmJXPk5lnnnqaDeRTbhQQRtCd8hI,11169
|
111
|
+
quantalogic/tools/serpapi_search_tool.py,sha256=sX-Noch77kGP2XiwislPNFyy3_4TH6TwMK6C81L3q9Y,5316
|
112
|
+
quantalogic/tools/sql_query_tool.py,sha256=jEDZLlxOsB2bzsWlEqsqvTKiyovnRuk0XvgtwW7-WSQ,6055
|
113
|
+
quantalogic/tools/task_complete_tool.py,sha256=L8tuyVoN07Q2hOsxx17JTW0C5Jd_N-C0i_0PtCUQUKU,929
|
114
|
+
quantalogic/tools/tool.py,sha256=2XlveQf7NVuDlPz-IgE0gURye8rIp9iH3YhWhoOsnog,11232
|
115
|
+
quantalogic/tools/unified_diff_tool.py,sha256=o7OiYnCM5MjbPlQTpB2OmkMQRI9zjdToQmgVkhiTvOI,14148
|
116
|
+
quantalogic/tools/utilities/csv_processor_tool.py,sha256=Mu_EPVj6iYAclNaVX_vbkekxcNwPYwy7dW1SCY22EwY,9023
|
117
|
+
quantalogic/tools/utilities/download_file_tool.py,sha256=hw_tO6RD0tA_LH46Tathf-LzSxRl7kgEiiP76rTGdds,6616
|
118
|
+
quantalogic/tools/utilities/mermaid_validator_tool.py,sha256=Brd6pt8OxpUgf8dm6kHqJJs_IU8V4Kc-8VDP-n1eCUM,25886
|
119
|
+
quantalogic/tools/utils/__init__.py,sha256=-NtMSwxRt_G79Oo_DcDaCdLU2vLvuXIoCd34TOYEUmI,334
|
120
|
+
quantalogic/tools/utils/create_sample_database.py,sha256=h5c_uxv3eztQvHlloTZxzWt5gEzai8zfnR8-_QrUqxU,3724
|
121
|
+
quantalogic/tools/utils/generate_database_report.py,sha256=3PT34ClMvZ2O62-24cp_5lOyZHY_pBjVObMHpfyVi-s,10140
|
122
|
+
quantalogic/tools/wikipedia_search_tool.py,sha256=LXQSPH8961Efw2QNxKe-cD5ZiIYD3ufEgrxH4y5uB74,5180
|
123
|
+
quantalogic/tools/write_file_tool.py,sha256=_mx9_Zjg2oMAAVzlcHEKjZVZUxQVgbRfcoMKgWnoZcg,3764
|
124
|
+
quantalogic/utils/__init__.py,sha256=hsS3hXH5lsBQcZh2QBANY1Af2Zs1jtrgxA7kXJEWi58,680
|
125
|
+
quantalogic/utils/ask_user_validation.py,sha256=gG6iv5996KRJK16JUQiEsY5JgSnLoZ7vmi6f5DXI7Ho,339
|
126
|
+
quantalogic/utils/async_utils.py,sha256=FOizWRbHdsZwoD36dNErzunfwPlE7zDprS6RXcWuWSo,963
|
127
|
+
quantalogic/utils/check_version.py,sha256=aDTEvIn5XNNBIQ0tVOqcY3hcoznRmpsnNuwES6je1MQ,1133
|
128
|
+
quantalogic/utils/download_http_file.py,sha256=FTN3brq9WvCFvuBX-lYAhjsdYTzQT4m9m2vqlcyjkNk,3472
|
129
|
+
quantalogic/utils/get_all_models.py,sha256=J4OtEsHzxZ71UN0v1uEjAb_isMNscTQ8qk5jG0sl0Rc,546
|
130
|
+
quantalogic/utils/get_coding_environment.py,sha256=oMK5ZanOqX_SFaJxUZQGlsAAaiLUgJufCJYDrHnHPuQ,584
|
131
|
+
quantalogic/utils/get_environment.py,sha256=7wWruSHYTUlnQWW27qU3WFYZnncqqqdofsxAsUU7lhw,875
|
132
|
+
quantalogic/utils/get_quantalogic_rules_content.py,sha256=fnEFTyClXzpI0MLaM-gB9R6l4CJlu2NnaYiR09ciJC8,673
|
133
|
+
quantalogic/utils/git_ls.py,sha256=hJLAoFyx1MgaFJKu6ZO7NEA5xvvqIcpfJ2g9DFCPR5c,5776
|
134
|
+
quantalogic/utils/lm_studio_model_info.py,sha256=74LrRljuVAIzgFHqO-l9jRuawx8nu3UdDeGoO_bLJwI,1792
|
135
|
+
quantalogic/utils/python_interpreter.py,sha256=H08GpYQshcob_W7e8GmgdKYFAbBhWAR6pGR83tviOM4,36430
|
136
|
+
quantalogic/utils/read_file.py,sha256=tSRVHk8dIP4nNLL89v5kRki4hOTjVyjbmuEb2zwvwCY,2077
|
137
|
+
quantalogic/utils/read_http_text_content.py,sha256=n3IayT5KcqctIVVF2gOQQAMf3Ow6eenlVgfXTpLcQbw,4410
|
138
|
+
quantalogic/utils/xml_utility.py,sha256=gLB0vpbpxbfc297Fy37Zd3O_-sbt6DoRUZrSkhPq4FU,5345
|
139
|
+
quantalogic/version.py,sha256=ea_cRutaQk5_lwlLbUUvPFuOT7Of7-gAsDl7wdveS-g,107
|
140
|
+
quantalogic/version_check.py,sha256=JyQFTNMDWtpHCLnN-BiakzB2cyXf6kUFsTjvmSruZi4,1623
|
141
|
+
quantalogic/welcome_message.py,sha256=o4tHdgabNuIV9kbIDPgS3_2yzJhayK30oKad2UouYDc,3020
|
142
|
+
quantalogic/xml_parser.py,sha256=AKuMdJC3QAX3Z_tErHVlZ-msjPemWaZUFiTwkHz76jg,11614
|
143
|
+
quantalogic/xml_tool_parser.py,sha256=Vz4LEgDbelJynD1siLOVkJ3gLlfHsUk65_gCwbYJyGc,3784
|
144
|
+
quantalogic-0.40.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
145
|
+
quantalogic-0.40.0.dist-info/METADATA,sha256=56CuD1VMfWtMUTdZAaCIXvVm6lr8JDZb67UGMVnALJ8,26321
|
146
|
+
quantalogic-0.40.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
147
|
+
quantalogic-0.40.0.dist-info/entry_points.txt,sha256=h74O_Q3qBRCrDR99qvwB4BpBGzASPUIjCfxHq6Qnups,183
|
148
|
+
quantalogic-0.40.0.dist-info/RECORD,,
|
@@ -1,102 +0,0 @@
|
|
1
|
-
quantalogic/__init__.py,sha256=Su8CnOEdqKu4zTytjiP9P5olg-oIDuUA3fMWM1WUdRY,925
|
2
|
-
quantalogic/agent.py,sha256=6t17qND9Z5EswHdsFTdNf-mzZB-JVHjjbaETY2XK5Xs,34575
|
3
|
-
quantalogic/agent_config.py,sha256=B3cm23F6XniXb_o5f_Ui0sGNYtZQ6wqv2Yq5tbTKJ4Y,9693
|
4
|
-
quantalogic/agent_factory.py,sha256=ax0IPmFdaVNXsHLA2_D6HSLYo6srJQ9OM-p8bWaXuio,5760
|
5
|
-
quantalogic/coding_agent.py,sha256=r0XeShNkXfMYGBKh7_22HatjmNnjXvM-RQW7jdNIkm4,5455
|
6
|
-
quantalogic/config.py,sha256=6UUIUSXKYlqKkL5aIklYzr8PJIDSRLDVVe3Wr6QAUFQ,422
|
7
|
-
quantalogic/console_print_events.py,sha256=md1CwNBoi58nW7KRVESna3QfkWDJo8PvugXSKjL-c-k,2129
|
8
|
-
quantalogic/console_print_token.py,sha256=qSU-3kmoZk4T5-1ybrEBi8tIXDPcz7eyWKhGh3E8uIg,395
|
9
|
-
quantalogic/docs_cli.py,sha256=3giVbUpespB9ZdTSJ955A3BhcOaBl5Lwsn1AVy9XAeY,1663
|
10
|
-
quantalogic/event_emitter.py,sha256=jqot2g4JRXc88K6PW837Oqxbf7shZfO-xdPaUWmzupk,7901
|
11
|
-
quantalogic/generative_model.py,sha256=3OLEPwsKEvtc0JYISeim_gEU8MY45FBN3q2rcixGVsk,13729
|
12
|
-
quantalogic/get_model_info.py,sha256=LFO_0vJ9cWpnzIk5s8xGNGNbPFP8DxBqHkbmjmYNlEk,2994
|
13
|
-
quantalogic/interactive_text_editor.py,sha256=1vW4poJl7SItRGEeGQgtCFcmRDXmfCM8PE-uBtDBJuE,16658
|
14
|
-
quantalogic/llm.py,sha256=98osu6LmjuYw4g-CDIp1SJkYlfoHNwdvq6yJqI-K5NA,5692
|
15
|
-
quantalogic/main.py,sha256=5XxR-exyO8T7lw6Qm7z2bJ4WspBBCbU6Img9lElH0QI,9676
|
16
|
-
quantalogic/memory.py,sha256=zbtRuM05jaS2lJll-92dt5JfYVLERnF_m_9xqp2x-k0,6304
|
17
|
-
quantalogic/model_info.py,sha256=j7QqvjEFQDGpDOgQs8uTkVyI3a50Oa_nrsQjyxizTLc,272
|
18
|
-
quantalogic/model_info_list.py,sha256=n2Y11akkFBghOOOokuT5B15QOIkui6caa9qFKiW-wG0,2434
|
19
|
-
quantalogic/model_info_litellm.py,sha256=m1Yt4SIiOBRWLx7S8f8k4fcTiKJZKtOvcPN_QvQ_Oxk,1880
|
20
|
-
quantalogic/model_names.py,sha256=UZlz25zG9B2dpfwdw_e1Gw5qFsKQ7iME9FJh9Ts4u6s,938
|
21
|
-
quantalogic/prompts.py,sha256=LZ82J_IVZy_G3Cabz_XnCmdM5RAPGuxyAsViCX8ldl4,2939
|
22
|
-
quantalogic/search_agent.py,sha256=EA_FAPP0dVuUbJ_lAGKfYq1FIJ6oLYzGMgKLMvBL4ZQ,2472
|
23
|
-
quantalogic/server/__init__.py,sha256=8sz_PYAUCrkM6JM5EAUeIzNM4NPW6j6UT72JVkc21WQ,91
|
24
|
-
quantalogic/server/agent_server.py,sha256=VXaaWqReUSZOCX7CaKS14jria8yZn1kLEc52E2hV7ZA,22510
|
25
|
-
quantalogic/server/models.py,sha256=nVUGWElOsUw8QnRCGJylk25wCew_5gohe6nldYighUA,1322
|
26
|
-
quantalogic/server/routes.py,sha256=00nFe6s0T4Gv8vCp0wQFjWGo1tC8FViH8h0koAJdWs4,4216
|
27
|
-
quantalogic/server/state.py,sha256=TwtL0BTp_LT-fynF1IR4k8WVXuxXWtSv3NgWG9fuUME,7369
|
28
|
-
quantalogic/server/static/js/event_visualizer.js,sha256=eFkkWyNZw3zOZlF18kxbfsWql8a2C13qBFEOAPzrj88,19646
|
29
|
-
quantalogic/server/static/js/quantalogic.js,sha256=x7TrlZGR1Y0WLK2DWl1xY847BhEWMPnL0Ua7KtOldUc,22311
|
30
|
-
quantalogic/server/templates/index.html,sha256=nDnXJoQEm1vXbhXtgaYk0G5VXj0wwzE6KrqEDhHFpj4,7773
|
31
|
-
quantalogic/task_file_reader.py,sha256=AMIJoeVY9Hhu0dBJ-C5EyaOFsXLkhn2oBhVs-WTnnLk,1460
|
32
|
-
quantalogic/task_runner.py,sha256=urUNgKTGMicKxDNwzueQVDtQt3P-gosGTbGY90Lp0j8,10094
|
33
|
-
quantalogic/tool_manager.py,sha256=Uh-ufrJPufHqDUrFwKlXw3MOsVGc_4lQxuc6cRvZ7wU,7186
|
34
|
-
quantalogic/tools/__init__.py,sha256=syshfk5d0_HV6A_mG4OBBJXy3H7ky-x57MnvlrDVXgI,2331
|
35
|
-
quantalogic/tools/agent_tool.py,sha256=MXCXxWHRch7VK4UWhtRP1jeI8Np9Ne2CUGo8vm1oZiM,3064
|
36
|
-
quantalogic/tools/dalle_e.py,sha256=nur2kl6DKjaWWaHcmF_y9vS5bvty2fW8hQfdgf5KWfs,10948
|
37
|
-
quantalogic/tools/download_http_file_tool.py,sha256=wTfanbXjIRi5-qrbluuLvNmDNhvmYAnlMVb3dO8C2ss,2210
|
38
|
-
quantalogic/tools/duckduckgo_search_tool.py,sha256=xVaEb_SUK5NL3lwMQXj1rGQYYvNT-td-qaB9QCes27Q,7014
|
39
|
-
quantalogic/tools/edit_whole_content_tool.py,sha256=nXmpAvojvqvAcqNMy1kUKZ1ocboky_ZcnCR4SNCSPgw,2360
|
40
|
-
quantalogic/tools/elixir_tool.py,sha256=fzPPtAW-Koy9KB0r5k2zV1f1U0WphL-LXPPOBkeNkug,7652
|
41
|
-
quantalogic/tools/execute_bash_command_tool.py,sha256=YK_cMuODJDOYheZKGmlpZTxJdVbimFLCUlND2_zmyMg,6869
|
42
|
-
quantalogic/tools/generate_database_report_tool.py,sha256=QbZjtmegGEOEZAIa-CSeBo5O9dYBZTk_PWrumyFUg1Q,1890
|
43
|
-
quantalogic/tools/grep_app_tool.py,sha256=BDxygwx7WCbqbiP2jmSRnIsoIUVYG5A4SKzId524ys4,19957
|
44
|
-
quantalogic/tools/input_question_tool.py,sha256=UoTlNhdmdr-eyiVtVCG2qJe_R4bU_ag-DzstSdmYkvM,1848
|
45
|
-
quantalogic/tools/jinja_tool.py,sha256=1bqkFia2GtfntIyTVg4tCiPP8S1dX43U7QsrBE1Ngps,2893
|
46
|
-
quantalogic/tools/language_handlers/__init__.py,sha256=5GD6TYsMqRni0nwePp2KOjNQ04GnT5wihT6YAuvx43c,699
|
47
|
-
quantalogic/tools/language_handlers/c_handler.py,sha256=q_NiOExbnfYyzxz4C0V5B5887d_D8LYr30tTEVj4LH8,1226
|
48
|
-
quantalogic/tools/language_handlers/cpp_handler.py,sha256=7iFBuidI_yMSbC0RL4A3mKPjLWKxW7AoRrtUTlBnpyw,1241
|
49
|
-
quantalogic/tools/language_handlers/go_handler.py,sha256=v8nxfhGMRxBf1xbrP0xUd2r4HsAtu-VK9OeXpv8FRoM,1230
|
50
|
-
quantalogic/tools/language_handlers/java_handler.py,sha256=MGGqmmnec9DsXijjAyPu7XZBsK-lCQAJSpd6ZK42nio,1443
|
51
|
-
quantalogic/tools/language_handlers/javascript_handler.py,sha256=kqtm3MOazyYCYzsT-L3OtkDt54B1m3AWk0Ya9nQx4VM,1729
|
52
|
-
quantalogic/tools/language_handlers/python_handler.py,sha256=ijOQuWoKQvNvV7uo1t308sipYEbPNfZ8R-u71TStNus,1220
|
53
|
-
quantalogic/tools/language_handlers/rust_handler.py,sha256=t_AqKVa3KVk6SVkq_UjUUru0Za8ueCAnanv8w3B815A,1234
|
54
|
-
quantalogic/tools/language_handlers/scala_handler.py,sha256=wr-cWOIFOc0UYwODmEtT6rV63Qf1NyNB_BLo23GLrvk,1281
|
55
|
-
quantalogic/tools/language_handlers/typescript_handler.py,sha256=L4vuJMYxKO3_83dQhdwZ9fogauIV7rwoicRT0xLGfkQ,1738
|
56
|
-
quantalogic/tools/list_directory_tool.py,sha256=8Hy38DelSh-mRqS_uDLpeBYoHLtEy5ji77xI-TJu3Ms,4176
|
57
|
-
quantalogic/tools/llm_tool.py,sha256=CFTvr-RTFiuGWlOLtvw4zv93s_CLUHuHfNmvK6QpQiQ,7014
|
58
|
-
quantalogic/tools/llm_vision_tool.py,sha256=eVDIrANxxZCHxYp9xaAN8hLdFhlYm7bUu2tX9-1xUbI,5496
|
59
|
-
quantalogic/tools/markitdown_tool.py,sha256=lpbJBLx43_x2DjiZAV1HSidkHeqkkV0KvgeLG2fphK4,4339
|
60
|
-
quantalogic/tools/nodejs_tool.py,sha256=zdnE0VFj_5786uR2L0o-SKR0Gk8L-U7rdj7xGHJYIq0,19905
|
61
|
-
quantalogic/tools/python_tool.py,sha256=70HLbfU2clOBgj4axDOtIKzXwEBMNGEAX1nGSf-KNNQ,18156
|
62
|
-
quantalogic/tools/read_file_block_tool.py,sha256=FTcDAUOOPQOvWRjnRI6nMI1Upus90klR4PC0pbPP_S8,5266
|
63
|
-
quantalogic/tools/read_file_tool.py,sha256=l6k-SOIV9krpXAmUTkxzua51S-KHgzGqkcDlD5AD8K0,2710
|
64
|
-
quantalogic/tools/read_html_tool.py,sha256=ZReMuGajMqlXcU7i5JOxCRlGTt96M2CsB7L0ZOEoXMI,11192
|
65
|
-
quantalogic/tools/replace_in_file_tool.py,sha256=95GqcOC0sZzbWHWzYDVwq7rEwChlOgKxb5cxKk-Y7W8,13844
|
66
|
-
quantalogic/tools/ripgrep_tool.py,sha256=sRzHaWac9fa0cCGhECJN04jw_Ko0O3u45KDWzMIYcvY,14291
|
67
|
-
quantalogic/tools/safe_python_interpreter_tool.py,sha256=I8e33-S_6K-1JxgkcTL0J79Op57kp2dzQBsXgwKFm8w,8140
|
68
|
-
quantalogic/tools/search_definition_names.py,sha256=ui0304UgUke6Ca-H3-S4JP9TsdHhRCR5uk9kPuobIDA,18769
|
69
|
-
quantalogic/tools/sequence_tool.py,sha256=NQAtd89d6hscyGe2GzGkHsmdtpAEX_fRa98hvo93EyA,11322
|
70
|
-
quantalogic/tools/serpapi_search_tool.py,sha256=sX-Noch77kGP2XiwislPNFyy3_4TH6TwMK6C81L3q9Y,5316
|
71
|
-
quantalogic/tools/sql_query_tool.py,sha256=5Jgr5m8Xv0B-3oHk560LmF0DgphGKWoAitElwqY9xCc,6120
|
72
|
-
quantalogic/tools/task_complete_tool.py,sha256=L8tuyVoN07Q2hOsxx17JTW0C5Jd_N-C0i_0PtCUQUKU,929
|
73
|
-
quantalogic/tools/tool.py,sha256=fdD-wwAOgfua2RRk1FHv_mlNBQ1FTzPO8vMIKiRirZM,9800
|
74
|
-
quantalogic/tools/unified_diff_tool.py,sha256=wTKXIoBEPcC_EcQmpJZVi95vq0Ncvsw1Kyc7XqPO6dU,14147
|
75
|
-
quantalogic/tools/utils/__init__.py,sha256=qLQaS1JvZt_Bfg5sTj-TUa47u2IatLaIwDZe0EtXELI,344
|
76
|
-
quantalogic/tools/utils/create_sample_database.py,sha256=Aus9xRLGfQfsYnxsAkJ5CW-Za6fwKQeqm2mOXqgkMis,4018
|
77
|
-
quantalogic/tools/utils/generate_database_report.py,sha256=0D-5fWOfpAh1jEcld5OTQP5x6XkJE5jpNY6FyHv1L2s,10345
|
78
|
-
quantalogic/tools/wikipedia_search_tool.py,sha256=bdZ_0dYTxpEfU04tBFsatnLM5P9Z3kAZgKQEjsopJLA,5405
|
79
|
-
quantalogic/tools/write_file_tool.py,sha256=_mx9_Zjg2oMAAVzlcHEKjZVZUxQVgbRfcoMKgWnoZcg,3764
|
80
|
-
quantalogic/utils/__init__.py,sha256=hsS3hXH5lsBQcZh2QBANY1Af2Zs1jtrgxA7kXJEWi58,680
|
81
|
-
quantalogic/utils/ask_user_validation.py,sha256=F0jkbFJVXAImcSSP7op6dov5i80hRvZGRvBHbfcZrxg,340
|
82
|
-
quantalogic/utils/check_version.py,sha256=grxTfJE85GMue1OAk8z8_q8tjEJxQ8RO6fN3fJ_qedg,1136
|
83
|
-
quantalogic/utils/download_http_file.py,sha256=FTN3brq9WvCFvuBX-lYAhjsdYTzQT4m9m2vqlcyjkNk,3472
|
84
|
-
quantalogic/utils/get_all_models.py,sha256=Ol4e60MwZiJhu8HZ2i_RpIumLmFYYrncB1X9q1KEQh0,544
|
85
|
-
quantalogic/utils/get_coding_environment.py,sha256=oMK5ZanOqX_SFaJxUZQGlsAAaiLUgJufCJYDrHnHPuQ,584
|
86
|
-
quantalogic/utils/get_environment.py,sha256=7wWruSHYTUlnQWW27qU3WFYZnncqqqdofsxAsUU7lhw,875
|
87
|
-
quantalogic/utils/get_quantalogic_rules_content.py,sha256=fnEFTyClXzpI0MLaM-gB9R6l4CJlu2NnaYiR09ciJC8,673
|
88
|
-
quantalogic/utils/git_ls.py,sha256=_k6QIQtc0aM1bsG340jBp4VrdevbcH8Pg2CV4r9oHok,5264
|
89
|
-
quantalogic/utils/lm_studio_model_info.py,sha256=1eDvZ-I9W8AZbCch1l5rdiSpUxL7qMnfZItdFZkmAWs,1819
|
90
|
-
quantalogic/utils/python_interpreter.py,sha256=VQdLdh0Jk-cWkXLwzPY5lwl8LFWPp8RzI9pKbfoieZg,33534
|
91
|
-
quantalogic/utils/read_file.py,sha256=tSRVHk8dIP4nNLL89v5kRki4hOTjVyjbmuEb2zwvwCY,2077
|
92
|
-
quantalogic/utils/read_http_text_content.py,sha256=n3IayT5KcqctIVVF2gOQQAMf3Ow6eenlVgfXTpLcQbw,4410
|
93
|
-
quantalogic/version.py,sha256=ea_cRutaQk5_lwlLbUUvPFuOT7Of7-gAsDl7wdveS-g,107
|
94
|
-
quantalogic/version_check.py,sha256=cttR1lR3OienGLl7NrK1Te1fhDkqSjCci7HC1vFUTSY,1627
|
95
|
-
quantalogic/welcome_message.py,sha256=IXMhem8h7srzNUwvw8G_lmEkHU8PFfote021E_BXmVk,3039
|
96
|
-
quantalogic/xml_parser.py,sha256=iUQZC4a8uqBsP7RAZaY0Ed9k8TCd-ImuF41eF7MR2WM,11615
|
97
|
-
quantalogic/xml_tool_parser.py,sha256=Vz4LEgDbelJynD1siLOVkJ3gLlfHsUk65_gCwbYJyGc,3784
|
98
|
-
quantalogic-0.35.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
99
|
-
quantalogic-0.35.0.dist-info/METADATA,sha256=rWN7fF9L5VdvL4al2IAcldkom7cuDYC8KadeBIcYKqY,23941
|
100
|
-
quantalogic-0.35.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
101
|
-
quantalogic-0.35.0.dist-info/entry_points.txt,sha256=h74O_Q3qBRCrDR99qvwB4BpBGzASPUIjCfxHq6Qnups,183
|
102
|
-
quantalogic-0.35.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|