quantalogic 0.59.3__py3-none-any.whl → 0.61.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/agent.py +268 -24
- quantalogic/agent_config.py +5 -5
- quantalogic/agent_factory.py +2 -2
- quantalogic/codeact/__init__.py +0 -0
- quantalogic/codeact/agent.py +499 -0
- quantalogic/codeact/cli.py +232 -0
- quantalogic/codeact/constants.py +9 -0
- quantalogic/codeact/events.py +78 -0
- quantalogic/codeact/llm_util.py +76 -0
- quantalogic/codeact/prompts/error_format.j2 +11 -0
- quantalogic/codeact/prompts/generate_action.j2 +26 -0
- quantalogic/codeact/prompts/generate_program.j2 +39 -0
- quantalogic/codeact/prompts/response_format.j2 +11 -0
- quantalogic/codeact/tools_manager.py +135 -0
- quantalogic/codeact/utils.py +135 -0
- quantalogic/coding_agent.py +2 -2
- quantalogic/create_custom_agent.py +26 -78
- quantalogic/prompts/chat_system_prompt.j2 +10 -7
- quantalogic/prompts/code_2_system_prompt.j2 +190 -0
- quantalogic/prompts/code_system_prompt.j2 +142 -0
- quantalogic/prompts/doc_system_prompt.j2 +178 -0
- quantalogic/prompts/legal_2_system_prompt.j2 +218 -0
- quantalogic/prompts/legal_system_prompt.j2 +140 -0
- quantalogic/prompts/system_prompt.j2 +6 -2
- quantalogic/prompts/tools_prompt.j2 +2 -4
- quantalogic/prompts.py +23 -4
- quantalogic/python_interpreter/__init__.py +23 -0
- quantalogic/python_interpreter/assignment_visitors.py +63 -0
- quantalogic/python_interpreter/base_visitors.py +20 -0
- quantalogic/python_interpreter/class_visitors.py +22 -0
- quantalogic/python_interpreter/comprehension_visitors.py +172 -0
- quantalogic/python_interpreter/context_visitors.py +59 -0
- quantalogic/python_interpreter/control_flow_visitors.py +88 -0
- quantalogic/python_interpreter/exception_visitors.py +109 -0
- quantalogic/python_interpreter/exceptions.py +39 -0
- quantalogic/python_interpreter/execution.py +202 -0
- quantalogic/python_interpreter/function_utils.py +386 -0
- quantalogic/python_interpreter/function_visitors.py +209 -0
- quantalogic/python_interpreter/import_visitors.py +28 -0
- quantalogic/python_interpreter/interpreter_core.py +358 -0
- quantalogic/python_interpreter/literal_visitors.py +74 -0
- quantalogic/python_interpreter/misc_visitors.py +148 -0
- quantalogic/python_interpreter/operator_visitors.py +108 -0
- quantalogic/python_interpreter/scope.py +10 -0
- quantalogic/python_interpreter/visit_handlers.py +110 -0
- quantalogic/server/agent_server.py +1 -1
- quantalogic/tools/__init__.py +6 -3
- quantalogic/tools/action_gen.py +366 -0
- quantalogic/tools/duckduckgo_search_tool.py +1 -0
- quantalogic/tools/execute_bash_command_tool.py +114 -57
- quantalogic/tools/file_tracker_tool.py +49 -0
- quantalogic/tools/google_packages/google_news_tool.py +3 -0
- quantalogic/tools/image_generation/dalle_e.py +89 -137
- quantalogic/tools/python_tool.py +13 -0
- quantalogic/tools/rag_tool/__init__.py +2 -9
- quantalogic/tools/rag_tool/document_rag_sources_.py +728 -0
- quantalogic/tools/rag_tool/ocr_pdf_markdown.py +144 -0
- quantalogic/tools/replace_in_file_tool.py +1 -1
- quantalogic/tools/{search_definition_names.py → search_definition_names_tool.py} +2 -2
- quantalogic/tools/terminal_capture_tool.py +293 -0
- quantalogic/tools/tool.py +120 -22
- quantalogic/tools/utilities/__init__.py +2 -0
- quantalogic/tools/utilities/download_file_tool.py +3 -5
- quantalogic/tools/utilities/llm_tool.py +283 -0
- quantalogic/tools/utilities/selenium_tool.py +296 -0
- quantalogic/tools/utilities/vscode_tool.py +1 -1
- quantalogic/tools/web_navigation/__init__.py +5 -0
- quantalogic/tools/web_navigation/web_tool.py +145 -0
- quantalogic/tools/write_file_tool.py +72 -36
- quantalogic/utils/__init__.py +0 -1
- quantalogic/utils/test_python_interpreter.py +119 -0
- {quantalogic-0.59.3.dist-info → quantalogic-0.61.0.dist-info}/METADATA +7 -2
- {quantalogic-0.59.3.dist-info → quantalogic-0.61.0.dist-info}/RECORD +76 -35
- quantalogic/tools/rag_tool/document_metadata.py +0 -15
- quantalogic/tools/rag_tool/query_response.py +0 -20
- quantalogic/tools/rag_tool/rag_tool.py +0 -566
- quantalogic/tools/rag_tool/rag_tool_beta.py +0 -264
- quantalogic/utils/python_interpreter.py +0 -905
- {quantalogic-0.59.3.dist-info → quantalogic-0.61.0.dist-info}/LICENSE +0 -0
- {quantalogic-0.59.3.dist-info → quantalogic-0.61.0.dist-info}/WHEEL +0 -0
- {quantalogic-0.59.3.dist-info → quantalogic-0.61.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,119 @@
|
|
1
|
+
import asyncio
|
2
|
+
|
3
|
+
from quantalogic.python_interpreter import AsyncExecutionResult, execute_async
|
4
|
+
|
5
|
+
|
6
|
+
async def test_square_calculation() -> None:
|
7
|
+
"""Test the square calculation using execute_async with entry_point."""
|
8
|
+
# Python code as a string that defines multiple functions
|
9
|
+
square_code = """
|
10
|
+
def calculate_square(x):
|
11
|
+
return x * x
|
12
|
+
|
13
|
+
async def async_square(x, delay=0.1):
|
14
|
+
await asyncio.sleep(delay)
|
15
|
+
return x * x
|
16
|
+
"""
|
17
|
+
|
18
|
+
# Test synchronous function with entry_point
|
19
|
+
sync_result = await execute_async(
|
20
|
+
code=square_code,
|
21
|
+
entry_point="calculate_square",
|
22
|
+
args=(5,),
|
23
|
+
timeout=5.0,
|
24
|
+
allowed_modules=['asyncio']
|
25
|
+
)
|
26
|
+
print("Synchronous Square Test:")
|
27
|
+
print_execution_result(sync_result)
|
28
|
+
|
29
|
+
# Test asynchronous function with entry_point
|
30
|
+
async_result = await execute_async(
|
31
|
+
code=square_code,
|
32
|
+
entry_point="async_square",
|
33
|
+
args=(5,),
|
34
|
+
kwargs={"delay": 0.2},
|
35
|
+
timeout=5.0,
|
36
|
+
allowed_modules=['asyncio']
|
37
|
+
)
|
38
|
+
print("Asynchronous Square Test:")
|
39
|
+
print_execution_result(async_result)
|
40
|
+
|
41
|
+
|
42
|
+
async def test_arithmetic_operations() -> None:
|
43
|
+
"""Test arithmetic operations with multiple arguments."""
|
44
|
+
# Python code with a function taking multiple arguments
|
45
|
+
arithmetic_code = """
|
46
|
+
def add_and_multiply(a, b, c=2):
|
47
|
+
return (a + b) * c
|
48
|
+
|
49
|
+
async def async_add_and_multiply(a, b, c=2, delay=0.1):
|
50
|
+
await asyncio.sleep(delay)
|
51
|
+
return (a + b) * c
|
52
|
+
"""
|
53
|
+
|
54
|
+
# Test synchronous function
|
55
|
+
sync_result = await execute_async(
|
56
|
+
code=arithmetic_code,
|
57
|
+
entry_point="add_and_multiply",
|
58
|
+
args=(3, 4),
|
59
|
+
kwargs={"c": 5},
|
60
|
+
timeout=5.0,
|
61
|
+
allowed_modules=['asyncio']
|
62
|
+
)
|
63
|
+
print("Synchronous Add and Multiply Test:")
|
64
|
+
print_execution_result(sync_result)
|
65
|
+
|
66
|
+
# Test asynchronous function
|
67
|
+
async_result = await execute_async(
|
68
|
+
code=arithmetic_code,
|
69
|
+
entry_point="async_add_and_multiply",
|
70
|
+
args=(3, 4),
|
71
|
+
kwargs={"c": 5, "delay": 0.15},
|
72
|
+
timeout=5.0,
|
73
|
+
allowed_modules=['asyncio']
|
74
|
+
)
|
75
|
+
print("Asynchronous Add and Multiply Test:")
|
76
|
+
print_execution_result(async_result)
|
77
|
+
|
78
|
+
|
79
|
+
async def test_module_execution() -> None:
|
80
|
+
"""Test execution of the entire module without an entry_point."""
|
81
|
+
# Python code that runs top-level statements
|
82
|
+
module_code = """
|
83
|
+
x = 1 + 2
|
84
|
+
y = x * 3
|
85
|
+
result = y
|
86
|
+
"""
|
87
|
+
|
88
|
+
# Execute without specifying an entry_point
|
89
|
+
result = await execute_async(
|
90
|
+
code=module_code,
|
91
|
+
timeout=5.0,
|
92
|
+
allowed_modules=['asyncio']
|
93
|
+
)
|
94
|
+
print("Module Execution Test (no entry_point):")
|
95
|
+
print_execution_result(result)
|
96
|
+
|
97
|
+
|
98
|
+
def print_execution_result(result: AsyncExecutionResult) -> None:
|
99
|
+
"""Print detailed information about an execution result."""
|
100
|
+
print("===== Execution Result =====")
|
101
|
+
if result.error:
|
102
|
+
print(f"❌ Error: {result.error}")
|
103
|
+
else:
|
104
|
+
print("✅ Execution successful!")
|
105
|
+
print(f"Result type: {type(result.result).__name__}")
|
106
|
+
print(f"Result value: {result.result}")
|
107
|
+
print(f"Execution time: {result.execution_time:.4f} seconds")
|
108
|
+
print("============================")
|
109
|
+
|
110
|
+
|
111
|
+
async def main() -> None:
|
112
|
+
"""Run all tests."""
|
113
|
+
await test_square_calculation()
|
114
|
+
await test_arithmetic_operations()
|
115
|
+
await test_module_execution()
|
116
|
+
|
117
|
+
|
118
|
+
if __name__ == '__main__':
|
119
|
+
asyncio.run(main())
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: quantalogic
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.61.0
|
4
4
|
Summary: QuantaLogic ReAct Agents
|
5
5
|
Author: Raphaël MANSUY
|
6
6
|
Author-email: raphael.mansuy@gmail.com
|
@@ -11,6 +11,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.12
|
12
12
|
Classifier: Programming Language :: Python :: 3.13
|
13
13
|
Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
|
14
|
+
Requires-Dist: boto3 (>=1.34.0,<2.0.0)
|
15
|
+
Requires-Dist: botocore (>=1.29.123,<2.0.0)
|
14
16
|
Requires-Dist: click (>=8.1.8,<9.0.0)
|
15
17
|
Requires-Dist: duckduckgo-search (>=7.2.1,<8.0.0)
|
16
18
|
Requires-Dist: faker (>=36.1.1,<37.0.0)
|
@@ -19,14 +21,17 @@ Requires-Dist: google-search-results (>=2.4.2,<3.0.0)
|
|
19
21
|
Requires-Dist: html2text (>=2024.2.26,<2025.0.0)
|
20
22
|
Requires-Dist: instructor (>=1.7.2,<2.0.0)
|
21
23
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
22
|
-
Requires-Dist: litellm (>=1.
|
24
|
+
Requires-Dist: litellm (>=1.59.0,<2.0.0)
|
23
25
|
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
24
26
|
Requires-Dist: markdownify (>=0.14.1,<0.15.0)
|
25
27
|
Requires-Dist: markitdown (>=0.0.1a3,<0.0.2)
|
26
28
|
Requires-Dist: networkx (>=3.2.1,<4.0.0)
|
29
|
+
Requires-Dist: openai (>=1.68.0,<2.0.0)
|
27
30
|
Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
28
31
|
Requires-Dist: prompt-toolkit (>=3.0.48,<4.0.0)
|
32
|
+
Requires-Dist: psutil (>=7.0.0,<8.0.0)
|
29
33
|
Requires-Dist: pydantic (>=2.10.4,<3.0.0)
|
34
|
+
Requires-Dist: pytest-asyncio (>=0.25.3,<0.26.0)
|
30
35
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
31
36
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
32
37
|
Requires-Dist: rich (>=13.9.4,<14.0.0)
|
@@ -1,12 +1,24 @@
|
|
1
1
|
quantalogic/__init__.py,sha256=qFbvfHOd_chAu536pH816E3uo6CdyAgXCpQOwMXXVnY,1076
|
2
|
-
quantalogic/agent.py,sha256=
|
3
|
-
quantalogic/agent_config.py,sha256=
|
4
|
-
quantalogic/agent_factory.py,sha256=
|
5
|
-
quantalogic/
|
2
|
+
quantalogic/agent.py,sha256=VChZXFLEsIIrBtXVQZ-FGZ72GCUXDL3g9br8Vo1t5V8,75072
|
3
|
+
quantalogic/agent_config.py,sha256=65dvgJ1rwC0eEysMtTv_Dsjln4WS0IvAIcn6r39Zq4k,8222
|
4
|
+
quantalogic/agent_factory.py,sha256=soActorasOqs5g6NmlyeEjRYbJceIGGg7wuUS-vA898,6878
|
5
|
+
quantalogic/codeact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
+
quantalogic/codeact/agent.py,sha256=oajib7OsfBp230sg_IjmknqYsFz_lSURC39fj5brsP4,22454
|
7
|
+
quantalogic/codeact/cli.py,sha256=FBqnqPUobq6ySuTL9oTLyXSenHC6V7wsCWAbNDK_xec,10810
|
8
|
+
quantalogic/codeact/constants.py,sha256=_xJ2QwP5wUE9vwSDm0JTSMC4GVjXAaxHTwcZBjDCoKk,244
|
9
|
+
quantalogic/codeact/events.py,sha256=4itxGsz54Te9vim13JC8QhacnLQ8cqtOOIyOWUrKFi0,1530
|
10
|
+
quantalogic/codeact/llm_util.py,sha256=9HqN0prWyAgdt6FYtdzjWoIoPpDavHQ7EIIfJr2Fi8w,2749
|
11
|
+
quantalogic/codeact/prompts/error_format.j2,sha256=_8fNWxDr3U1Fq8SdzwRIBNsNG1WvPL9IAaos9Enf1C0,258
|
12
|
+
quantalogic/codeact/prompts/generate_action.j2,sha256=v0LXFxz6L2EwIPesu_mYSVqyNctjHOCIfdawHCb2rtc,1289
|
13
|
+
quantalogic/codeact/prompts/generate_program.j2,sha256=05_1bAwIJLLBKt4o9c7sRWLHIoiHPyGl9OquieMZT5g,2048
|
14
|
+
quantalogic/codeact/prompts/response_format.j2,sha256=TwO43dEG-3justNigpX4yyzGR1TGS3YDlpJQq8Z5Vf4,355
|
15
|
+
quantalogic/codeact/tools_manager.py,sha256=l2cpHLuQP-MW0uP8d2e6IdMToeveaIOdilwDGPjPciY,4464
|
16
|
+
quantalogic/codeact/utils.py,sha256=B7Xowk4id6Sgoyl0eBJsi6JiKa-BAwnj0a5z70vrV1M,5308
|
17
|
+
quantalogic/coding_agent.py,sha256=i4QYY1Q7AXfJFCVfrowxukH33nuqByUOX6bt-hAcGDE,5504
|
6
18
|
quantalogic/config.py,sha256=bmPI2rvQ9M8Zdl1H7K588JgJdnkxSE0L5_i5aBqsagA,564
|
7
19
|
quantalogic/console_print_events.py,sha256=yDtfOr7s5r_gLTgwkl_XoKSkUqNRZhqqq4hwR_oJsUw,2050
|
8
20
|
quantalogic/console_print_token.py,sha256=5IRVoPhwWZtSc4LpNoAsCQhCB_RnAW9chycGgyD3_5U,437
|
9
|
-
quantalogic/create_custom_agent.py,sha256=
|
21
|
+
quantalogic/create_custom_agent.py,sha256=g9qh6w436wkiOYVii6f3SPRRY0wyPQ_bL07WnD1JSx0,19989
|
10
22
|
quantalogic/docs_cli.py,sha256=Ie6NwKQuxLKwVQ-cjhFMCttXeiHDjGhNY4hSmMtc0Qg,1664
|
11
23
|
quantalogic/event_emitter.py,sha256=wxzXrNhGiXAaa4EX7qTZEa81i3Mn4JKaU_T6E05QclE,16805
|
12
24
|
quantalogic/flow/__init__.py,sha256=MD5FAdD6jnVnTPMIOmToKjFxHBQvLmOCT0VeaWhASBc,1295
|
@@ -30,20 +42,44 @@ quantalogic/model_info.py,sha256=j7QqvjEFQDGpDOgQs8uTkVyI3a50Oa_nrsQjyxizTLc,272
|
|
30
42
|
quantalogic/model_info_list.py,sha256=Xeeb7QS4xEpe9ke7Guh0CxEx-Hl59U4kC-qzVts-eAU,2437
|
31
43
|
quantalogic/model_info_litellm.py,sha256=Uoo8ZATjqH6POnTE3Ee3kfHfFllPYp8LkvJwlJjFZH8,2089
|
32
44
|
quantalogic/model_names.py,sha256=UZlz25zG9B2dpfwdw_e1Gw5qFsKQ7iME9FJh9Ts4u6s,938
|
33
|
-
quantalogic/prompts/chat_system_prompt.j2,sha256=
|
45
|
+
quantalogic/prompts/chat_system_prompt.j2,sha256=DhYEdWRsNzLb4EVqD814dkre52E5Zy1XD1dHufbvvgw,1454
|
46
|
+
quantalogic/prompts/code_2_system_prompt.j2,sha256=soB10T85nRiXJkng-waA3g4A4bhh4_ejDey3qCiw8OA,7802
|
47
|
+
quantalogic/prompts/code_system_prompt.j2,sha256=A-aZtUBLBlHqFqk4JM1N-xco4j4IVwzzEk8dPQBUAxU,5338
|
48
|
+
quantalogic/prompts/doc_system_prompt.j2,sha256=6VAfYAM4z2Dkc5zbTIA-rWF5_IpBSe0uylx4lR90evc,7803
|
49
|
+
quantalogic/prompts/legal_2_system_prompt.j2,sha256=8aktOQFLr8n1bmbkOHJOgaovhEq4vIHH1rS6thMZXqI,11164
|
50
|
+
quantalogic/prompts/legal_system_prompt.j2,sha256=OSrV2KWF7CvzprZsoIIzVwVctjltEC29karVd_fIOSA,6568
|
34
51
|
quantalogic/prompts/memory_compaction_prompt.j2,sha256=Xsy9XKN7zxL4wNnNjWWlUjYjmtktgtee5dDG4dSvRW8,569
|
35
52
|
quantalogic/prompts/observation_response_format.j2,sha256=lvyveAJbXbc94aIvHgppKyaD9Tf7X5bCTGWjh51BDjI,1655
|
36
53
|
quantalogic/prompts/repeated_tool_call_error.j2,sha256=IRENR3a3D28Dtys-kGDP-x_uSkJnxeQZ5-jYHWv_3G4,319
|
37
|
-
quantalogic/prompts/system_prompt.j2,sha256=
|
54
|
+
quantalogic/prompts/system_prompt.j2,sha256=p4aujPnlhvYrKuZQAjC4Ck7O96QCITcBItdG1XhFQrE,2683
|
38
55
|
quantalogic/prompts/task_prompt.j2,sha256=RFKgF-6opuUu-dma5TT8O_V60n3GCPi6-ott4LUcJXw,280
|
39
56
|
quantalogic/prompts/task_summary_prompt.j2,sha256=fcjV96nqi6jsfR8l6uyep20rCaOi-zOReKmvoAnwz7c,205
|
40
|
-
quantalogic/prompts/tools_prompt.j2,sha256=
|
57
|
+
quantalogic/prompts/tools_prompt.j2,sha256=ZjvTAZtAk-FmzDb1QuyDJg1hzo-FqayQ7wN_ytHAi2s,385
|
41
58
|
quantalogic/prompts/variables_prompt.j2,sha256=N3OsMbzy3PfEUqYZVF_34wVidhh2ghVToSgdRCv2qgM,231
|
42
|
-
quantalogic/prompts.py,sha256=
|
59
|
+
quantalogic/prompts.py,sha256=zqmyosq4hdYpzHI-FG0m5CKV2wQnjgyMJf6Vo1ZaLW4,1982
|
60
|
+
quantalogic/python_interpreter/__init__.py,sha256=cNYxH9jy5QEAPZo44zmJzy3Kci14e0lL2h20Cbrs7RQ,675
|
61
|
+
quantalogic/python_interpreter/assignment_visitors.py,sha256=t6ttdYuwjcz8VtqJS5vMaaUUG6GbEhoNmnNDUj8dZiI,2771
|
62
|
+
quantalogic/python_interpreter/base_visitors.py,sha256=aD1pc3DbdlPdjQ3yJTYhBqNpN6tant7NOHXShts8coo,765
|
63
|
+
quantalogic/python_interpreter/class_visitors.py,sha256=FUgBVg_TmpAdLdLlYlPnruSm8iViijW3gTBQveJjkpI,862
|
64
|
+
quantalogic/python_interpreter/comprehension_visitors.py,sha256=AdPn047QUeoG5D1VD4wU2JuXS2KBTwLOIGbApmx9s7A,8468
|
65
|
+
quantalogic/python_interpreter/context_visitors.py,sha256=_4-Xfk0wzsla2rSIJZYEyYK4yIK7yRZWX6-HNBFSWTs,2137
|
66
|
+
quantalogic/python_interpreter/control_flow_visitors.py,sha256=trJ0Led1pPWKyseQF7BbIF5LFopkOiRDSVHz9Hi7-hI,3662
|
67
|
+
quantalogic/python_interpreter/exception_visitors.py,sha256=dbRuk2CaEZN-tYrzcRxZQh_UdLfpcW7wwrG8iQoGeE8,4571
|
68
|
+
quantalogic/python_interpreter/exceptions.py,sha256=mL4G9a0PZrvW_hAjkweMohvN8ryZsZOiIOolZUDSq9Y,1296
|
69
|
+
quantalogic/python_interpreter/execution.py,sha256=bggzv-GMnFe0Pkt00T4IlPUnDMsuqcHO1Qo0Wq6rEbs,8420
|
70
|
+
quantalogic/python_interpreter/function_utils.py,sha256=1LCEqCDt0p0uBTeC6rcre84r_j06jc6HuWLZ5Fc8m8M,18133
|
71
|
+
quantalogic/python_interpreter/function_visitors.py,sha256=WcGBWXZ_A7vekkrejL2XTuVPyqsKymK4svJr6-kR-OI,11317
|
72
|
+
quantalogic/python_interpreter/import_visitors.py,sha256=AgqFM8SO1wuJluDRsDGBwm-FQ5K374pQrXgbXXEBgPI,1331
|
73
|
+
quantalogic/python_interpreter/interpreter_core.py,sha256=PV_XFx0xhUG9ACvhz3FGat2FSaXK3C031HjRizHbox0,16646
|
74
|
+
quantalogic/python_interpreter/literal_visitors.py,sha256=TX9-02rn093OFTDvKkhp0PbTsXqIU1voBfbxs-TXfu0,3715
|
75
|
+
quantalogic/python_interpreter/misc_visitors.py,sha256=_olOaGD04icqKDqeEFUPIY5Nq0cH5pdGkq-8T6xbilM,6758
|
76
|
+
quantalogic/python_interpreter/operator_visitors.py,sha256=WTf4EfwE88lMoTKjuL8UBNpbwJ8Z6DTdrwvVffVw-Ic,4048
|
77
|
+
quantalogic/python_interpreter/scope.py,sha256=HSSbtDAMeDbE5LjSckTHvFlhcOUGv8UzxpI4NgUbp5U,257
|
78
|
+
quantalogic/python_interpreter/visit_handlers.py,sha256=dGh7BxwGArnBnmwxVzpV6l_uXQ5J6esUm2xKtXne30M,2610
|
43
79
|
quantalogic/quantlitellm.py,sha256=nf-awyOxP0ANoAPGHNvHfdLu8gNn65L39gl7x4saIQc,5550
|
44
80
|
quantalogic/search_agent.py,sha256=tr0cwscJ4wu_G1aumjFyvGHQ0eQv5OL5sxj17s6Ocls,2470
|
45
81
|
quantalogic/server/__init__.py,sha256=8sz_PYAUCrkM6JM5EAUeIzNM4NPW6j6UT72JVkc21WQ,91
|
46
|
-
quantalogic/server/agent_server.py,sha256=
|
82
|
+
quantalogic/server/agent_server.py,sha256=7kj-HBRBBkdUT0pCyX6peTUZc-3VG_IY1XgtV8hespk,22949
|
47
83
|
quantalogic/server/models.py,sha256=_j6dAx3L_w0kiP55vcC5uykJJRfChV2K3uL_xAPnsms,1447
|
48
84
|
quantalogic/server/routes.py,sha256=00nFe6s0T4Gv8vCp0wQFjWGo1tC8FViH8h0koAJdWs4,4216
|
49
85
|
quantalogic/server/state.py,sha256=TwtL0BTp_LT-fynF1IR4k8WVXuxXWtSv3NgWG9fuUME,7369
|
@@ -53,7 +89,8 @@ quantalogic/server/templates/index.html,sha256=nDnXJoQEm1vXbhXtgaYk0G5VXj0wwzE6K
|
|
53
89
|
quantalogic/task_file_reader.py,sha256=oPcB4vTxJ__Y8o7VVABIPOkVw3tGDMdQYwdK27PERlE,1440
|
54
90
|
quantalogic/task_runner.py,sha256=NB7TqNuwCstCAsTkjGcJSQRapNk8-iXe7d_2qf-fs1s,15815
|
55
91
|
quantalogic/tool_manager.py,sha256=vNA7aBKgdU3wpw_goom6i9rg_64pNZapNxvg4cUhhCI,6983
|
56
|
-
quantalogic/tools/__init__.py,sha256=
|
92
|
+
quantalogic/tools/__init__.py,sha256=NU_M6VYYaAbSUtb2Qdu1lsYaDh0G3f_8jnrZTsBD0eY,2390
|
93
|
+
quantalogic/tools/action_gen.py,sha256=M16voPq7tMR1qiCKTaZAusmVchFbBIluuBbLQH9kEG4,15580
|
57
94
|
quantalogic/tools/agent_tool.py,sha256=MXCXxWHRch7VK4UWhtRP1jeI8Np9Ne2CUGo8vm1oZiM,3064
|
58
95
|
quantalogic/tools/composio/__init__.py,sha256=Yo9ygNx0qQILVhIfRgqpO8fgnCgp5WoZMd3Hm5D20GY,429
|
59
96
|
quantalogic/tools/composio/composio.py,sha256=icVHA_Scr1pViBhahGGBGBRBl9JSB3hGSqpgQzAIUH8,17627
|
@@ -69,10 +106,11 @@ quantalogic/tools/document_tools/markdown_to_latex_tool.py,sha256=SxQ9gdDm2KuAuI
|
|
69
106
|
quantalogic/tools/document_tools/markdown_to_pdf_tool.py,sha256=EZOXPlF2pn10XzzOVFXqOopSP35tqXuj-YrFzeS5xQg,21077
|
70
107
|
quantalogic/tools/document_tools/markdown_to_pptx_tool.py,sha256=Bg79e1us2GAjB8vUa3COk2XgXM_FUQF28zWBIitYAC8,11085
|
71
108
|
quantalogic/tools/download_http_file_tool.py,sha256=wTfanbXjIRi5-qrbluuLvNmDNhvmYAnlMVb3dO8C2ss,2210
|
72
|
-
quantalogic/tools/duckduckgo_search_tool.py,sha256=
|
109
|
+
quantalogic/tools/duckduckgo_search_tool.py,sha256=FRHgHehRek4SkcKC4lxEzAEIhQ8-ege5COteXj3Ci98,7027
|
73
110
|
quantalogic/tools/edit_whole_content_tool.py,sha256=nXmpAvojvqvAcqNMy1kUKZ1ocboky_ZcnCR4SNCSPgw,2360
|
74
111
|
quantalogic/tools/elixir_tool.py,sha256=fzPPtAW-Koy9KB0r5k2zV1f1U0WphL-LXPPOBkeNkug,7652
|
75
|
-
quantalogic/tools/execute_bash_command_tool.py,sha256=
|
112
|
+
quantalogic/tools/execute_bash_command_tool.py,sha256=dNQmi-hjVzwdQNa6xHqvqOo4V02qefuO5dm5NnuJZqI,9620
|
113
|
+
quantalogic/tools/file_tracker_tool.py,sha256=4PWBVB7MzhFlLE62bDGVhoC2Gpn2VzdMFT5lRsyADEI,1700
|
76
114
|
quantalogic/tools/finance/__init__.py,sha256=b_RMQw6fHr9Rsptk0M3AUrXgewhC1kJa8v59FP5zNpc,933
|
77
115
|
quantalogic/tools/finance/alpha_vantage_tool.py,sha256=2nAOTGlxKePM2VnBOtDTfHJH4WgM8ys81WDGV2SDIgo,16526
|
78
116
|
quantalogic/tools/finance/ccxt_tool.py,sha256=kCLrAzy-Zc0Bz7Ey8Jdi9RhyaQp6L7d2Q3Mnu_lPueU,15411
|
@@ -88,10 +126,10 @@ quantalogic/tools/git/bitbucket_operations_tool.py,sha256=6Vdelau1VSTYREtuQgHlV-
|
|
88
126
|
quantalogic/tools/git/clone_repo_tool.py,sha256=FA_29pmEsy_71YSrt94M0rAUNt_rEo4TDvq2Y7-uinU,7565
|
89
127
|
quantalogic/tools/git/git_operations_tool.py,sha256=tZqY7fXXfiLkArV_18pEmqreqF6n6BALo0jFy4Hjzfs,20610
|
90
128
|
quantalogic/tools/google_packages/__init__.py,sha256=BIf2t1oJQTCfbh7qZZAzQGIHVQyWiZQ559OwmYrG1A0,452
|
91
|
-
quantalogic/tools/google_packages/google_news_tool.py,sha256=
|
129
|
+
quantalogic/tools/google_packages/google_news_tool.py,sha256=3ktgtXauJt8EzUAXZTqJyx1WEC51ex7_XBKJhQp35Ic,11857
|
92
130
|
quantalogic/tools/grep_app_tool.py,sha256=qAKgqMTtoH82bEZkiNlIk5oDSgVckFgxVXhU7ieTJwc,18672
|
93
131
|
quantalogic/tools/image_generation/__init__.py,sha256=7_ckDTy0ZHW34S9ZIQJqeRCZisdBbAtH-1CLO-8_yUI,455
|
94
|
-
quantalogic/tools/image_generation/dalle_e.py,sha256=
|
132
|
+
quantalogic/tools/image_generation/dalle_e.py,sha256=F6RGPmiS0eq-BjeJrwkrCCbQMGypNGz9SUHzJCI8SQI,8711
|
95
133
|
quantalogic/tools/input_question_tool.py,sha256=UoTlNhdmdr-eyiVtVCG2qJe_R4bU_ag-DzstSdmYkvM,1848
|
96
134
|
quantalogic/tools/jinja_tool.py,sha256=i49F6lSdTx5KMgP5Y9KKYprcc_OEc11TvEqqtDA5mas,2849
|
97
135
|
quantalogic/tools/language_handlers/__init__.py,sha256=5FSwHqTXzRL52Eme4yocw1RzOqWCVq7a5FyLEd7uSEM,1161
|
@@ -119,36 +157,39 @@ quantalogic/tools/presentation_tools/presentation_llm_tool.py,sha256=5fuUDE1IzeA
|
|
119
157
|
quantalogic/tools/product_hunt/__init__.py,sha256=v729REf13ioQNg4SH6ZTkAMo5TfgAawcUEIz1sKwIcA,446
|
120
158
|
quantalogic/tools/product_hunt/product_hunt_tool.py,sha256=vtjnV6v46BcNYlxudUCq5JIkjznQFUt8Kx9VD4KEPa8,8533
|
121
159
|
quantalogic/tools/product_hunt/services.py,sha256=ym10ZW4q8w03wIkZDnwl9d_nCoOz2WAj3N6C0qY0dfI,2280
|
122
|
-
quantalogic/tools/python_tool.py,sha256=
|
123
|
-
quantalogic/tools/rag_tool/__init__.py,sha256=
|
124
|
-
quantalogic/tools/rag_tool/
|
125
|
-
quantalogic/tools/rag_tool/
|
126
|
-
quantalogic/tools/rag_tool/rag_tool.py,sha256=FEccrd_IorVi1b3FzEu2huZPavSlaF-0p0IiWIGON74,21073
|
127
|
-
quantalogic/tools/rag_tool/rag_tool_beta.py,sha256=6ydWH5N2-M06p1XAsfxC8GREktIOz6AAsFTPGEZUnbU,9525
|
160
|
+
quantalogic/tools/python_tool.py,sha256=ae-OeXOafGoRVUp1leBhRgz2fVt0Q-WVcjlVQO60tlE,18619
|
161
|
+
quantalogic/tools/rag_tool/__init__.py,sha256=OzQ7_MxMvHupkt-1XAm5hAK8Saz2u2LxEH_v0k6yJSA,406
|
162
|
+
quantalogic/tools/rag_tool/document_rag_sources_.py,sha256=WYtiAZA0P546pBYtz0pCmN8SizsUA7PIrp9dKKp7naw,28575
|
163
|
+
quantalogic/tools/rag_tool/ocr_pdf_markdown.py,sha256=SqHvAWToSM0nLLLor5jVElPC6dBm94_ihio-Z-Q2WTI,5479
|
128
164
|
quantalogic/tools/read_file_block_tool.py,sha256=FTcDAUOOPQOvWRjnRI6nMI1Upus90klR4PC0pbPP_S8,5266
|
129
165
|
quantalogic/tools/read_file_tool.py,sha256=l6k-SOIV9krpXAmUTkxzua51S-KHgzGqkcDlD5AD8K0,2710
|
130
166
|
quantalogic/tools/read_html_tool.py,sha256=KmXTeSrQZj0L-OAwl3xZQybdAhhyAeK3wgblhXgf3oM,10999
|
131
|
-
quantalogic/tools/replace_in_file_tool.py,sha256=
|
167
|
+
quantalogic/tools/replace_in_file_tool.py,sha256=gux6uCXk4gvIMynw7NMAGPvdWKuSIc9JWTWZyuR5OgQ,13853
|
132
168
|
quantalogic/tools/ripgrep_tool.py,sha256=sRzHaWac9fa0cCGhECJN04jw_Ko0O3u45KDWzMIYcvY,14291
|
133
169
|
quantalogic/tools/safe_python_interpreter_tool.py,sha256=eqwI0sHNt4mTvd8witCc0cecydKJNXNN3HNFfr4sCkI,8036
|
134
|
-
quantalogic/tools/
|
170
|
+
quantalogic/tools/search_definition_names_tool.py,sha256=uoQC7oXNNmesxYAll5TXx9HckYHgHCp3BVjo1KvWidQ,18779
|
135
171
|
quantalogic/tools/sequence_tool.py,sha256=Hb2FSjWWACvXZX7rmJXPk5lnnnqaDeRTbhQQRtCd8hI,11169
|
136
172
|
quantalogic/tools/serpapi_search_tool.py,sha256=sX-Noch77kGP2XiwislPNFyy3_4TH6TwMK6C81L3q9Y,5316
|
137
173
|
quantalogic/tools/sql_query_tool.py,sha256=jEDZLlxOsB2bzsWlEqsqvTKiyovnRuk0XvgtwW7-WSQ,6055
|
138
174
|
quantalogic/tools/task_complete_tool.py,sha256=L8tuyVoN07Q2hOsxx17JTW0C5Jd_N-C0i_0PtCUQUKU,929
|
139
|
-
quantalogic/tools/
|
175
|
+
quantalogic/tools/terminal_capture_tool.py,sha256=I3Ik9JSgHUPb5eV7ArZv9PISofkWWLh_7fCqX4RJRAg,10567
|
176
|
+
quantalogic/tools/tool.py,sha256=q94f1b5k44taJTckTJegTRkP_QNN4YB6xhz_0TExvWU,19731
|
140
177
|
quantalogic/tools/unified_diff_tool.py,sha256=o7OiYnCM5MjbPlQTpB2OmkMQRI9zjdToQmgVkhiTvOI,14148
|
141
|
-
quantalogic/tools/utilities/__init__.py,sha256=
|
178
|
+
quantalogic/tools/utilities/__init__.py,sha256=cOsQLYzJDnTY7mUjYaMSF_jmb5kez34MQc9xCWxm2NE,733
|
142
179
|
quantalogic/tools/utilities/csv_processor_tool.py,sha256=Mu_EPVj6iYAclNaVX_vbkekxcNwPYwy7dW1SCY22EwY,9023
|
143
|
-
quantalogic/tools/utilities/download_file_tool.py,sha256=
|
180
|
+
quantalogic/tools/utilities/download_file_tool.py,sha256=DN93jRTVC01MzBYgUEezKqpE0S7TOyFwk3G86IH3WtE,6544
|
181
|
+
quantalogic/tools/utilities/llm_tool.py,sha256=tb0uaqJBNZqNmekX1Is-wHov1B3BDVRJPJBjQ4vmnZM,10328
|
144
182
|
quantalogic/tools/utilities/mermaid_validator_tool.py,sha256=Brd6pt8OxpUgf8dm6kHqJJs_IU8V4Kc-8VDP-n1eCUM,25886
|
145
|
-
quantalogic/tools/utilities/
|
183
|
+
quantalogic/tools/utilities/selenium_tool.py,sha256=UrfQSF62UoADPuRPqP8x9_jIL6YyPIhaT589I6D5Lfw,10449
|
184
|
+
quantalogic/tools/utilities/vscode_tool.py,sha256=M248_464I3FWHuvrTVPbrF6czXe0n45_o315TFRD-6U,4363
|
146
185
|
quantalogic/tools/utils/__init__.py,sha256=-NtMSwxRt_G79Oo_DcDaCdLU2vLvuXIoCd34TOYEUmI,334
|
147
186
|
quantalogic/tools/utils/create_sample_database.py,sha256=h5c_uxv3eztQvHlloTZxzWt5gEzai8zfnR8-_QrUqxU,3724
|
148
187
|
quantalogic/tools/utils/generate_database_report.py,sha256=3PT34ClMvZ2O62-24cp_5lOyZHY_pBjVObMHpfyVi-s,10140
|
188
|
+
quantalogic/tools/web_navigation/__init__.py,sha256=O7SkVqbGwN4zt8Sm3H8AHF9451FSgI5h0J3fDj1rFS4,142
|
189
|
+
quantalogic/tools/web_navigation/web_tool.py,sha256=AxAxQLUNwCElqxP2ceOOjHVY80ck-Md-uNsjHdR9ErA,4721
|
149
190
|
quantalogic/tools/wikipedia_search_tool.py,sha256=LXQSPH8961Efw2QNxKe-cD5ZiIYD3ufEgrxH4y5uB74,5180
|
150
|
-
quantalogic/tools/write_file_tool.py,sha256=
|
151
|
-
quantalogic/utils/__init__.py,sha256=
|
191
|
+
quantalogic/tools/write_file_tool.py,sha256=qyRhDwE77rakRb_CuAC00V0E2vqIRNxwKD4PHLGgyW8,5230
|
192
|
+
quantalogic/utils/__init__.py,sha256=E442CJQuTohKzgI0Wrd4NZEpKascFjz6F4Vy8Y1c_0Y,634
|
152
193
|
quantalogic/utils/ask_user_validation.py,sha256=kSr7TXPTpsLR9zgwpGWgvffx8-cKAC_rdFRdLqwC22A,1176
|
153
194
|
quantalogic/utils/async_utils.py,sha256=FOizWRbHdsZwoD36dNErzunfwPlE7zDprS6RXcWuWSo,963
|
154
195
|
quantalogic/utils/check_version.py,sha256=aDTEvIn5XNNBIQ0tVOqcY3hcoznRmpsnNuwES6je1MQ,1133
|
@@ -159,17 +200,17 @@ quantalogic/utils/get_environment.py,sha256=7wWruSHYTUlnQWW27qU3WFYZnncqqqdofsxA
|
|
159
200
|
quantalogic/utils/get_quantalogic_rules_content.py,sha256=fnEFTyClXzpI0MLaM-gB9R6l4CJlu2NnaYiR09ciJC8,673
|
160
201
|
quantalogic/utils/git_ls.py,sha256=hJLAoFyx1MgaFJKu6ZO7NEA5xvvqIcpfJ2g9DFCPR5c,5776
|
161
202
|
quantalogic/utils/lm_studio_model_info.py,sha256=74LrRljuVAIzgFHqO-l9jRuawx8nu3UdDeGoO_bLJwI,1792
|
162
|
-
quantalogic/utils/python_interpreter.py,sha256=H08GpYQshcob_W7e8GmgdKYFAbBhWAR6pGR83tviOM4,36430
|
163
203
|
quantalogic/utils/read_file.py,sha256=tSRVHk8dIP4nNLL89v5kRki4hOTjVyjbmuEb2zwvwCY,2077
|
164
204
|
quantalogic/utils/read_http_text_content.py,sha256=n3IayT5KcqctIVVF2gOQQAMf3Ow6eenlVgfXTpLcQbw,4410
|
205
|
+
quantalogic/utils/test_python_interpreter.py,sha256=Mw3dB11AGCqU8Ff70mg1M91l2TrC6z4fHvno74FkyOA,3393
|
165
206
|
quantalogic/utils/xml_utility.py,sha256=gLB0vpbpxbfc297Fy37Zd3O_-sbt6DoRUZrSkhPq4FU,5345
|
166
207
|
quantalogic/version.py,sha256=ea_cRutaQk5_lwlLbUUvPFuOT7Of7-gAsDl7wdveS-g,107
|
167
208
|
quantalogic/version_check.py,sha256=JyQFTNMDWtpHCLnN-BiakzB2cyXf6kUFsTjvmSruZi4,1623
|
168
209
|
quantalogic/welcome_message.py,sha256=o4tHdgabNuIV9kbIDPgS3_2yzJhayK30oKad2UouYDc,3020
|
169
210
|
quantalogic/xml_parser.py,sha256=bLLwIwO-VEHWF3heNS7nuPC8wgdYw9F_fVZZNW1figY,11728
|
170
211
|
quantalogic/xml_tool_parser.py,sha256=hGHA1q20JUoTNTbZYmi4FTdA5I25-AGEIP8DwZgQCNA,3897
|
171
|
-
quantalogic-0.
|
172
|
-
quantalogic-0.
|
173
|
-
quantalogic-0.
|
174
|
-
quantalogic-0.
|
175
|
-
quantalogic-0.
|
212
|
+
quantalogic-0.61.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
213
|
+
quantalogic-0.61.0.dist-info/METADATA,sha256=htzdPnOadswC70Yh7pfSyOVhsM364yrtwOZufiMJSCc,32955
|
214
|
+
quantalogic-0.61.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
215
|
+
quantalogic-0.61.0.dist-info/entry_points.txt,sha256=h74O_Q3qBRCrDR99qvwB4BpBGzASPUIjCfxHq6Qnups,183
|
216
|
+
quantalogic-0.61.0.dist-info/RECORD,,
|
@@ -1,15 +0,0 @@
|
|
1
|
-
from datetime import datetime
|
2
|
-
from typing import Any, Dict
|
3
|
-
|
4
|
-
from pydantic import BaseModel, Field
|
5
|
-
|
6
|
-
|
7
|
-
class DocumentMetadata(BaseModel):
|
8
|
-
"""Metadata for indexed documents."""
|
9
|
-
source_path: str
|
10
|
-
file_type: str
|
11
|
-
creation_date: datetime
|
12
|
-
last_modified: datetime
|
13
|
-
chunk_size: int
|
14
|
-
overlap: int
|
15
|
-
custom_metadata: Dict[str, Any] = Field(default_factory=dict)
|
@@ -1,20 +0,0 @@
|
|
1
|
-
from typing import Any, Dict, List
|
2
|
-
|
3
|
-
from pydantic import BaseModel
|
4
|
-
|
5
|
-
|
6
|
-
class QueryResponse(BaseModel):
|
7
|
-
"""Structured query response with source attribution."""
|
8
|
-
answer: str
|
9
|
-
sources: List[Dict[str, Any]]
|
10
|
-
relevance_scores: List[float]
|
11
|
-
total_chunks_searched: int
|
12
|
-
query_time_ms: float
|
13
|
-
|
14
|
-
def __len__(self) -> int:
|
15
|
-
"""Support len() operation by returning length of the answer."""
|
16
|
-
return len(self.answer)
|
17
|
-
|
18
|
-
def __str__(self) -> str:
|
19
|
-
"""String representation of the response."""
|
20
|
-
return self.answer
|