quantalogic 0.80__py3-none-any.whl → 0.93__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.
Files changed (55) hide show
  1. quantalogic/flow/__init__.py +16 -34
  2. quantalogic/main.py +11 -6
  3. quantalogic/tools/tool.py +8 -922
  4. quantalogic-0.93.dist-info/METADATA +475 -0
  5. {quantalogic-0.80.dist-info → quantalogic-0.93.dist-info}/RECORD +8 -54
  6. quantalogic/codeact/TODO.md +0 -14
  7. quantalogic/codeact/__init__.py +0 -0
  8. quantalogic/codeact/agent.py +0 -478
  9. quantalogic/codeact/cli.py +0 -50
  10. quantalogic/codeact/cli_commands/__init__.py +0 -0
  11. quantalogic/codeact/cli_commands/create_toolbox.py +0 -45
  12. quantalogic/codeact/cli_commands/install_toolbox.py +0 -20
  13. quantalogic/codeact/cli_commands/list_executor.py +0 -15
  14. quantalogic/codeact/cli_commands/list_reasoners.py +0 -15
  15. quantalogic/codeact/cli_commands/list_toolboxes.py +0 -47
  16. quantalogic/codeact/cli_commands/task.py +0 -215
  17. quantalogic/codeact/cli_commands/tool_info.py +0 -24
  18. quantalogic/codeact/cli_commands/uninstall_toolbox.py +0 -43
  19. quantalogic/codeact/config.yaml +0 -21
  20. quantalogic/codeact/constants.py +0 -9
  21. quantalogic/codeact/events.py +0 -85
  22. quantalogic/codeact/examples/README.md +0 -342
  23. quantalogic/codeact/examples/agent_sample.yaml +0 -29
  24. quantalogic/codeact/executor.py +0 -186
  25. quantalogic/codeact/history_manager.py +0 -94
  26. quantalogic/codeact/llm_util.py +0 -57
  27. quantalogic/codeact/plugin_manager.py +0 -92
  28. quantalogic/codeact/prompts/error_format.j2 +0 -11
  29. quantalogic/codeact/prompts/generate_action.j2 +0 -77
  30. quantalogic/codeact/prompts/generate_program.j2 +0 -52
  31. quantalogic/codeact/prompts/response_format.j2 +0 -11
  32. quantalogic/codeact/react_agent.py +0 -318
  33. quantalogic/codeact/reasoner.py +0 -185
  34. quantalogic/codeact/templates/toolbox/README.md.j2 +0 -10
  35. quantalogic/codeact/templates/toolbox/pyproject.toml.j2 +0 -16
  36. quantalogic/codeact/templates/toolbox/tools.py.j2 +0 -6
  37. quantalogic/codeact/templates.py +0 -7
  38. quantalogic/codeact/tools_manager.py +0 -258
  39. quantalogic/codeact/utils.py +0 -62
  40. quantalogic/codeact/xml_utils.py +0 -126
  41. quantalogic/flow/flow.py +0 -1070
  42. quantalogic/flow/flow_extractor.py +0 -783
  43. quantalogic/flow/flow_generator.py +0 -322
  44. quantalogic/flow/flow_manager.py +0 -676
  45. quantalogic/flow/flow_manager_schema.py +0 -287
  46. quantalogic/flow/flow_mermaid.py +0 -365
  47. quantalogic/flow/flow_validator.py +0 -479
  48. quantalogic/flow/flow_yaml.linkedin.md +0 -31
  49. quantalogic/flow/flow_yaml.md +0 -767
  50. quantalogic/flow/templates/prompt_check_inventory.j2 +0 -1
  51. quantalogic/flow/templates/system_check_inventory.j2 +0 -1
  52. quantalogic-0.80.dist-info/METADATA +0 -900
  53. {quantalogic-0.80.dist-info → quantalogic-0.93.dist-info}/LICENSE +0 -0
  54. {quantalogic-0.80.dist-info → quantalogic-0.93.dist-info}/WHEEL +0 -0
  55. {quantalogic-0.80.dist-info → quantalogic-0.93.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,475 @@
1
+ Metadata-Version: 2.3
2
+ Name: quantalogic
3
+ Version: 0.93
4
+ Summary: QuantaLogic ReAct Agents
5
+ License: MIT
6
+ Author: Raphaël MANSUY
7
+ Author-email: raphael.mansuy@gmail.com
8
+ Requires-Python: >=3.10,<4.0
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Requires-Dist: aiofiles (>=24.1.0,<25.0.0)
16
+ Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
17
+ Requires-Dist: boto3 (>=1.34.0,<2.0.0)
18
+ Requires-Dist: botocore (>=1.29.123,<2.0.0)
19
+ Requires-Dist: click (>=8.1.8,<9.0.0)
20
+ Requires-Dist: duckduckgo-search (>=7.2.1,<8.0.0)
21
+ Requires-Dist: faker (>=36.1.1,<37.0.0)
22
+ Requires-Dist: fuzzywuzzy (>=0.18.0,<0.19.0)
23
+ Requires-Dist: google-search-results (>=2.4.2,<3.0.0)
24
+ Requires-Dist: html2text (>=2024.2.26,<2025.0.0)
25
+ Requires-Dist: instructor (>=1.7.2,<2.0.0)
26
+ Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
27
+ Requires-Dist: litellm (>=1.63.14,<2.0.0)
28
+ Requires-Dist: loguru (>=0.7.3,<0.8.0)
29
+ Requires-Dist: markdownify (>=0.14.1,<0.15.0)
30
+ Requires-Dist: markitdown (>=0.0.1a3,<0.0.2)
31
+ Requires-Dist: networkx (>=3.2.1,<4.0.0)
32
+ Requires-Dist: openai (>=1.68.0,<2.0.0)
33
+ Requires-Dist: pathspec (>=0.12.1,<0.13.0)
34
+ Requires-Dist: prompt-toolkit (>=3.0.48,<4.0.0)
35
+ Requires-Dist: psutil (>=7.0.0,<8.0.0)
36
+ Requires-Dist: pydantic (>=2.10.4,<3.0.0)
37
+ Requires-Dist: pytest-asyncio (>=0.25.3,<0.26.0)
38
+ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
39
+ Requires-Dist: quantalogic-flow (>=0.6.2,<0.7.0)
40
+ Requires-Dist: quantalogic-pythonbox (>=0.9.11)
41
+ Requires-Dist: quantalogic-toolbox (>=0.8.0)
42
+ Requires-Dist: requests (>=2.32.3,<3.0.0)
43
+ Requires-Dist: rich (>=13.9.4,<14.0.0)
44
+ Requires-Dist: serpapi (>=0.1.5,<0.2.0)
45
+ Requires-Dist: sqlalchemy (>=2.0.25,<3.0.0)
46
+ Requires-Dist: tenacity (>=9.0.0,<10.0.0)
47
+ Requires-Dist: tree-sitter (>=0.23.2,<0.24.0)
48
+ Requires-Dist: tree-sitter-c (>=0.23.4,<0.24.0)
49
+ Requires-Dist: tree-sitter-cpp (>=0.23.4,<0.24.0)
50
+ Requires-Dist: tree-sitter-go (>=0.23.4,<0.24.0)
51
+ Requires-Dist: tree-sitter-java (>=0.23.5,<0.24.0)
52
+ Requires-Dist: tree-sitter-javascript (>=0.23.1,<0.24.0)
53
+ Requires-Dist: tree-sitter-python (>=0.23.6,<0.24.0)
54
+ Requires-Dist: tree-sitter-rust (>=0.23.2,<0.24.0)
55
+ Requires-Dist: tree-sitter-scala (>=0.23.4,<0.24.0)
56
+ Requires-Dist: tree-sitter-typescript (>=0.23.2,<0.24.0)
57
+ Requires-Dist: types-pyyaml (>=6.0.12.20241230,<7.0.0.0)
58
+ Requires-Dist: typing-extensions (>=4.12.2,<5.0.0)
59
+ Project-URL: Documentation, https://github.com/quantalogic/quantalogic#readme
60
+ Project-URL: Homepage, https://github.com/quantalogic/quantalogic
61
+ Project-URL: Repository, https://github.com/quantalogic/quantalogic
62
+ Description-Content-Type: text/markdown
63
+
64
+ # QuantaLogic: Unleash AI for Coding, Automation, and Conversations
65
+
66
+ **QuantaLogic** is your all-in-one AI framework for building smart agents that code, automate workflows, and chat like pros. Powered by large language models (LLMs) and a versatile toolset, it offers three killer modes: **ReAct** for tackling tough tasks, **Flow** for streamlined processes, and **Chat** for natural, tool-savvy conversations. Whether you’re a coder, a business innovator, or an AI enthusiast, QuantaLogic delivers fast, flexible, and fun solutions. Let’s blast off!
67
+
68
+ > **New: CodeAct**
69
+ >
70
+ > QuantaLogic CodeAct is a powerful, modular extension for creating AI agents that not only reason and act (ReAct) but also use **executable code as their primary action language**. Inspired by the latest research, CodeAct enables agents to solve complex, multi-step tasks by generating, running, and iterating on Python code, all while maintaining context and leveraging a robust tool system. This makes it ideal for advanced automation, mathematical problem-solving, and user-friendly conversational interfaces.
71
+
72
+ [📖 Full Docs](https://quantalogic.github.io/quantalogic/) | [⚡ Quick Guide](./docs/howto/howto.md)
73
+
74
+ ![Demo GIF](./examples/generated_tutorials/python/quantalogic_8s.gif)
75
+
76
+ ---
77
+
78
+ ## Why QuantaLogic?
79
+
80
+ **Why pick QuantaLogic?** It turns the complexity of LLMs into practical magic, making AI work for *you*. From coding scripts to automating business tasks or chatting about the universe, QuantaLogic is your creative sidekick, saving time and unlocking possibilities.
81
+
82
+ - **Versatile Power**: Code, automate, or converse—handle any task.
83
+ - **Your Rules**: Customize agents and tools to match your needs.
84
+ - **Scales Big**: From CLI hacks to enterprise workflows.
85
+ - **Free & Open**: Apache 2.0 license—use it, tweak it, share it.
86
+
87
+ > *“AI should spark joy, not stress. QuantaLogic makes it happen!”*
88
+
89
+ ---
90
+
91
+ ## What is QuantaLogic?
92
+
93
+ **What’s the vibe?** QuantaLogic is a Python framework that harnesses LLMs (like GPT-4o, Claude, or DeepSeek) to create AI agents. These agents wield tools for coding, searching, file ops, and more, all accessible via a slick CLI or Python API. With **ReAct**, **Flow**, and **Chat** modes, it adapts to any challenge—dynamic tasks, structured pipelines, or friendly chats.
94
+
95
+ ### Core Features
96
+ - **ReAct Mode**: Solve problems with LLM reasoning + tool actions.
97
+ - **Flow Mode**: Craft structured workflows with nodes and transitions.
98
+ - **Chat Mode**: Converse naturally with tool-calling smarts.
99
+ - **LLM Integration**: Supports OpenAI, Anthropic, DeepSeek via LiteLLM.
100
+ - **Toolset**: Code execution, web search, file management, and custom tools.
101
+ - **Smart Memory**: Keeps context lean for long tasks or chats.
102
+ - **Real-Time Insights**: Track progress with events and logs.
103
+ - **Safe Execution**: Docker-based tool isolation.
104
+
105
+ ---
106
+
107
+ ## CodeAct vs ReAct: What's the Difference?
108
+
109
+ QuantaLogic supports both the classic **ReAct** paradigm and its advanced extension, **CodeAct**:
110
+
111
+ - **ReAct** (Reason + Act):
112
+ - Based on the [ReAct paper](https://arxiv.org/abs/2210.03629), this approach lets agents *reason* (think step-by-step) and *act* (use tools or code) in a loop. It's great for tasks where language models need to plan, use tools, and adapt to feedback.
113
+
114
+ - **CodeAct**:
115
+ - Builds on ReAct by making **executable Python code** the main language for agent actions. Instead of just calling tools or outputting text, the agent writes and runs code, observes the results (including errors), and iterates until the task is solved.
116
+ - This approach is inspired by recent research ([Yang et al., 2024](https://arxiv.org/html/2402.01030v4)) showing that executable code actions enable more capable and reliable LLM agents.
117
+ - CodeAct is ideal for complex, multi-step tasks, advanced automation, and scenarios where precise, verifiable actions are needed.
118
+
119
+ **Summary**:
120
+ - Use **ReAct** for flexible reasoning with tool use.
121
+ - Use **CodeAct** for tasks where generating and executing code is the best way to solve a problem or automate a workflow.
122
+
123
+ Here’s how it flows:
124
+
125
+ ```mermaid
126
+ graph TD
127
+ A[User] -->|Input| B[QuantaLogic]
128
+ B --> C1[Pure ReAct]
129
+ B --> C2[CodeAct]
130
+ B --> D[Flow: Automate]
131
+ B --> E[Chat: Converse]
132
+ C1 --> F1[LLM + Tools]
133
+ C2 --> F2[LLM + Code Actions]
134
+ D --> G[Nodes + Engine]
135
+ E --> H[Persona + Tools]
136
+ F1 --> I[Output]
137
+ F2 --> I
138
+ G --> I
139
+ H --> I
140
+ I --> A
141
+ style A fill:#ffe5b4,stroke:#555
142
+ style B fill:#cfe0e8,stroke:#555
143
+ style C1 fill:#e6e6fa,stroke:#555
144
+ style C2 fill:#ffd1dc,stroke:#555
145
+ style D fill:#c8e6c9,stroke:#555
146
+ style E fill:#fff9c4,stroke:#555
147
+ style F1 fill:#f0f0f0,stroke:#555
148
+ style F2 fill:#f0f0f0,stroke:#555
149
+ style G fill:#d0f0c0,stroke:#555
150
+ style H fill:#ffefdb,stroke:#555
151
+ style I fill:#cfe0e8,stroke:#555
152
+ ```
153
+
154
+ For detailed CodeAct documentation, see [CodeAct Module](quantalogic_codeact/README.md).
155
+
156
+ ---
157
+
158
+ ## How to Get Started
159
+
160
+ **How do you dive in?** Install it, set it up, and start creating. We’ll guide you through setup, examples, and pro tips to master QuantaLogic in minutes.
161
+
162
+ ### Installation & Setup
163
+
164
+ #### Prerequisites
165
+ - Python >= 3.10+ (required)
166
+ - Docker (optional; sandboxed execution)
167
+ - Poetry (optional; for source builds)
168
+
169
+ #### Installation
170
+ Install the core CLI and (optionally) CodeAct extension:
171
+ ```bash
172
+ pip install quantalogic
173
+ pip install quantalogic-codeact
174
+ ```
175
+ Or with pipx:
176
+ ```bash
177
+ pipx install quantalogic
178
+ pipx install quantalogic-codeact
179
+ ```
180
+
181
+ #### Developer Build (optional)
182
+ ```bash
183
+ git clone https://github.com/quantalogic/quantalogic.git
184
+ cd quantalogic
185
+ python -m venv .venv
186
+ # macOS/Linux
187
+ source .venv/bin/activate
188
+ # Windows
189
+ .venv\\Scripts\\activate
190
+ poetry install
191
+ ```
192
+
193
+ #### Verify Installation
194
+ ```bash
195
+ quantalogic --help
196
+ quantalogic_codeact --help
197
+ ```
198
+
199
+ #### Configure API Keys
200
+ ```bash
201
+ cat <<EOF > .env
202
+ OPENAI_API_KEY=sk-your-key
203
+ DEEPSEEK_API_KEY=ds-your-key
204
+ EOF
205
+ ```
206
+ > For advanced settings, see [docs/config.md](./docs/config.md)
207
+
208
+ ---
209
+
210
+ ### Quick Start Examples
211
+
212
+ Let’s see QuantaLogic shine with these quick demos.
213
+
214
+ #### CLI: Solve a Task
215
+ ```bash
216
+ quantalogic task "Write a Python script to reverse a string"
217
+ ```
218
+ **Output**: A clean, working string-reversal script!
219
+
220
+ #### CLI: Chat It Up
221
+ ```bash
222
+ quantalogic chat --persona "You’re a cosmic guide" "What’s the tallest mountain?"
223
+ ```
224
+ **Output**: A lively response, possibly with search results!
225
+
226
+ #### CLI: CodeAct Shell
227
+ ```bash
228
+ quantalogic_codeact shell
229
+ ```
230
+
231
+ #### CLI: CodeAct Task
232
+ ```bash
233
+ quantalogic_codeact task "Solve 2 + 2" --model deepseek/deepseek-chat --timeout 60 --streaming
234
+ ```
235
+
236
+ #### Python: ReAct Agent
237
+ ```python
238
+ from quantalogic import Agent
239
+
240
+ agent = Agent(model_name="deepseek/deepseek-chat")
241
+ result = agent.solve_task("Write a Python function to reverse a string")
242
+ print(result)
243
+ # Output: "def reverse_string(s): return s[::-1]"
244
+ ```
245
+
246
+ #### Python: Chat Mode
247
+ ```python
248
+ from quantalogic import Agent, DuckDuckGoSearchTool
249
+
250
+ agent = Agent(
251
+ model_name="gpt-4o-mini",
252
+ chat_system_prompt="You’re a curious explorer",
253
+ tools=[DuckDuckGoSearchTool()]
254
+ )
255
+ response = agent.chat("What’s new in quantum computing?")
256
+ print(response)
257
+ # Output: "I checked the latest news! Here’s a breakthrough in quantum computing: [details]."
258
+ ```
259
+
260
+ ---
261
+
262
+ ### The Three Modes: Your Superpowers
263
+
264
+ #### 1. ReAct Framework: Dynamic Task-Solving
265
+ **Why**: Tackle open-ended tasks like coding or research with creative flair.
266
+ **What**: Combines LLM reasoning with tools to iterate toward solutions.
267
+ **How**: The agent thinks, acts, and loops until the task is complete.
268
+
269
+ **Example**: Debug some code.
270
+ ```bash
271
+ quantalogic task "Debug this Python code: def add(a, b): return a - b"
272
+ ```
273
+ **Flow**:
274
+ ```mermaid
275
+ sequenceDiagram
276
+ User->>Agent: "Debug code"
277
+ Agent->>LLM: "Analyze error"
278
+ LLM-->>Agent: "Subtraction should be addition"
279
+ Agent->>PythonTool: "Fix code"
280
+ PythonTool-->>Agent: "def add(a, b): return a + b"
281
+ Agent-->>User: "Fixed code!"
282
+ ```
283
+
284
+ **Memorization Trick**: ReAct = **R**eason + **A**ct, like a detective solving a mystery step-by-step.
285
+
286
+ #### 2. Flow Module: Structured Automation
287
+ **Why**: Perfect for repeatable processes like data pipelines or content creation.
288
+ **What**: A system of nodes (tasks) connected by transitions, run by an engine.
289
+ **How**: Define nodes, link them, and let the workflow hum.
290
+
291
+ **Example**: Process text.
292
+ ```python
293
+ from quantalogic.flow import Workflow, Nodes
294
+
295
+ @Nodes.define(output="processed")
296
+ def uppercase(text: str) -> str:
297
+ return text.upper()
298
+
299
+ workflow = Workflow("uppercase").build()
300
+ result = await workflow.run({"text": "hello world"})
301
+ print(result["processed"]) # "HELLO WORLD"
302
+ ```
303
+
304
+ **Diagram**:
305
+ ```mermaid
306
+ graph LR
307
+ A[Start] --> B[Uppercase Node]
308
+ B --> C[End]
309
+ A -->|Observer| D[Log: NODE_START]
310
+ B -->|Observer| E[Log: NODE_END]
311
+ style A fill:#dfd,stroke:#333
312
+ style C fill:#dfd,stroke:#333
313
+ ```
314
+
315
+ **Memorization Trick**: Flow = a recipe—nodes are ingredients, transitions are steps, and the engine is the chef.
316
+
317
+ **Learn More**: Explore the [Flow YAML DSL Specification](./quantalogic/flow/flow_yaml.md) for advanced workflows.
318
+
319
+ #### 3. Chat Mode: Natural Conversations
320
+ **Why**: Ideal for interactive Q&A or quick info with a touch of tool power.
321
+ **What**: A conversational AI that calls tools when needed, keeping chats smooth.
322
+ **How**: Engages naturally, using tools via ReAct’s XML system.
323
+
324
+ **Example**: Check the weather.
325
+ ```python
326
+ from quantalogic import Agent
327
+
328
+ agent = Agent(model_name="gpt-4o", chat_system_prompt="You’re a travel guide")
329
+ response = agent.chat("What’s the weather in Paris?")
330
+ print(response)
331
+ # Output: "I’ll look it up! Paris is sunny, 20°C today."
332
+ ```
333
+
334
+ **Memorization Trick**: Chat = your AI bestie—talks, listens, and grabs tools like a search engine when curious.
335
+
336
+ ---
337
+
338
+ ### Which Mode to Pick?
339
+
340
+ | Mode | Best For | Style | Tools |
341
+ |------------|------------------------------|---------------------|--------------------|
342
+ | **ReAct** | Coding, research, Q&A | Iterative, adaptive | Dynamic, on-demand |
343
+ | **Flow** | Pipelines, automation | Structured, orderly | Node-specific |
344
+ | **Chat** | Conversations, quick queries | Free-flowing | Contextual |
345
+
346
+ **Pro Tip**: Combine modes! Use Chat for user input, Flow for backend automation, and ReAct for complex tasks.
347
+
348
+ ---
349
+
350
+ ### CLI Mastery
351
+
352
+ The QuantaLogic CLI is your mission control. Here’s the scoop:
353
+
354
+ ```bash
355
+ quantalogic [COMMAND] [OPTIONS]
356
+ ```
357
+
358
+ #### Commands
359
+ - **task**: Run a task.
360
+ ```bash
361
+ quantalogic task "Calculate 5 + 3" --model-name gpt-4o-mini
362
+ ```
363
+ - **chat**: Start a conversation.
364
+ ```bash
365
+ quantalogic chat --persona "AI expert" "What’s the latest in machine learning?"
366
+ ```
367
+ - **list-models**: List LLMs.
368
+ ```bash
369
+ quantalogic list-models --search claude
370
+ ```
371
+
372
+ #### Key Options
373
+ - `--model-name`: Select your LLM (e.g., `anthropic/claude-3.5-sonnet`).
374
+ - `--mode`: Choose ReAct, Flow, or Chat.
375
+ - `--tool-mode`: Prioritize tools in Chat (e.g., `code`).
376
+ - `--verbose`: See detailed logs.
377
+
378
+ **Insider Secret**: Add `--no-stream` for cleaner output on slow terminals!
379
+
380
+ ---
381
+
382
+ ### Advanced Tricks
383
+
384
+ #### Build Custom Tools
385
+ Create your own tools for unique tasks:
386
+ ```python
387
+ from quantalogic.tools import Tool
388
+
389
+ class TimeTool(Tool):
390
+ name = "time_tool"
391
+ def execute(self) -> str:
392
+ from datetime import datetime
393
+ return f"Current time: {datetime.now()}"
394
+
395
+ agent = Agent(model_name="gpt-4o")
396
+ agent.add_tool(TimeTool())
397
+ ```
398
+
399
+ #### Go Async
400
+ Boost performance with async:
401
+ ```python
402
+ import asyncio
403
+ from quantalogic import Agent
404
+
405
+ async def main():
406
+ agent = Agent(model_name="gpt-4o")
407
+ result = await agent.async_chat("Tell me a joke", streaming=True)
408
+ print(result)
409
+
410
+ asyncio.run(main())
411
+ ```
412
+
413
+ #### Monitor Events
414
+ Track every step:
415
+ ```python
416
+ from quantalogic import Agent, console_print_events
417
+
418
+ agent = Agent(model_name="gpt-4o")
419
+ agent.event_emitter.on(["task_start", "tool_execution_start"], console_print_events)
420
+ result = agent.solve_task("Write a poem")
421
+ ```
422
+
423
+ ---
424
+
425
+ ### Memorization Hacks
426
+ - **Modes as Jobs**: ReAct = Freelancer (flexible tasks), Flow = Engineer (structured builds), Chat = Barista (serves up chats).
427
+ - **Tools as Toys**: `PythonTool` = LEGO for coding, `SearchTool` = binoculars for info.
428
+ - **Workflows as Maps**: Nodes = destinations, transitions = roads, engine = GPS.
429
+
430
+ ---
431
+
432
+ ### Simplified Concepts
433
+
434
+ **Tools 101**: Picture QuantaLogic as a handyman. You ask for a fix (task). It grabs tools—a hammer (`WriteFileTool`) or screwdriver (`SearchTool`)—to get the job done right.
435
+
436
+ **Memory Magic**: Imagine a sticky note board. As tasks or chats grow, QuantaLogic condenses old notes to keep space for new ones—efficient and clutter-free.
437
+
438
+
439
+ ### Contributing
440
+
441
+ **Why**: Make AI better for everyone!
442
+ **What**: Add features, squash bugs, or suggest ideas.
443
+ **How**: Fork, branch, code, and PR. Check [CONTRIBUTING.md](./CONTRIBUTING.md).
444
+
445
+ ---
446
+
447
+ ### License
448
+
449
+ QuantaLogic is **Apache 2.0**—free to use, modify, and distribute. Built with ❤️ by Raphaël MANSUY at [QuantaLogic](https://www.quantalogic.app).
450
+
451
+ ---
452
+
453
+ ### API Keys & Models
454
+
455
+ Power up with LLM API keys in a `.env` file:
456
+ ```bash
457
+ OPENAI_API_KEY=sk-your-key
458
+ ANTHROPIC_API_KEY=your-key
459
+ DEEPSEEK_API_KEY=ds-your-key
460
+ ```
461
+
462
+ **Top Models**:
463
+ - `openai/gpt-4o-mini`: Speedy and budget-friendly.
464
+ - `anthropic/claude-3.5-sonnet`: Razor-sharp reasoning.
465
+ - `deepseek/deepseek-reasoner`: Deep problem-solving.
466
+
467
+ **Insider Secret**: Set `LM_STUDIO_API_BASE` for local LLMs—great for offline work!
468
+
469
+ ---
470
+
471
+ ### Let’s Build the Future
472
+
473
+ QuantaLogic is your launchpad for AI awesomeness. Install it, try the examples, and create something epic—code, workflows, or chats. Star the repo, join the community, and let’s make AI unstoppable!
474
+
475
+ [![Star History](https://api.star-history.com/svg?repos=quantalogic/quantalogic&type=Date)](https://star-history.com/#quantalogic/quantalogic?Date)
@@ -2,41 +2,6 @@ quantalogic/__init__.py,sha256=qFbvfHOd_chAu536pH816E3uo6CdyAgXCpQOwMXXVnY,1076
2
2
  quantalogic/agent.py,sha256=y0ncyZCL9VPRFD6tLNOCCo3GD6okGEoFYjUfVtJHn-g,75060
3
3
  quantalogic/agent_config.py,sha256=HNXHmu3BiT4q9i-L2wJKUh6PuiZ_ryTNaB7ga24kaJo,8334
4
4
  quantalogic/agent_factory.py,sha256=soActorasOqs5g6NmlyeEjRYbJceIGGg7wuUS-vA898,6878
5
- quantalogic/codeact/TODO.md,sha256=TfKjRGUz-8q0pLrLATxleMW-E8pw4sOJP0nu82QlpMA,335
6
- quantalogic/codeact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- quantalogic/codeact/agent.py,sha256=WRDQ2FXxGXoECcMU6zR8yHUC4JEB00nGAypyyslZHBw,24092
8
- quantalogic/codeact/cli.py,sha256=jIpxaLmEjFjl9lER4-ccNDn4mranKRpwA6oGihp1njY,2193
9
- quantalogic/codeact/cli_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- quantalogic/codeact/cli_commands/create_toolbox.py,sha256=Z__5XbcN6h4Z67IkHRh09ZaJLKrMxjPa_3oS5QHYI-Y,1680
11
- quantalogic/codeact/cli_commands/install_toolbox.py,sha256=-ZGT2RSpG_TmQGzglHPgd3F9zCPBIibmHenTXMKSLfI,643
12
- quantalogic/codeact/cli_commands/list_executor.py,sha256=Dt09zerX-2W8dhxKJxfUvpmLanTj4YmPBUatFLucGMs,418
13
- quantalogic/codeact/cli_commands/list_reasoners.py,sha256=CFLrXOgfapN0o8HvhkZmrT2tGhmsC7RMfSGdouV29mE,418
14
- quantalogic/codeact/cli_commands/list_toolboxes.py,sha256=3z_UHNdbVniQcpm6k9i-D6bsMspmmL4oCZZtv4ueKmw,1837
15
- quantalogic/codeact/cli_commands/task.py,sha256=K48Ne52dq_J8ydwX6diyyAB9oxbIxdBs4dFbwGeGyVo,9583
16
- quantalogic/codeact/cli_commands/tool_info.py,sha256=6YAxMvMsuvs72rVeJ1UqvUOxjR40MOWvClLIMNtUNrk,977
17
- quantalogic/codeact/cli_commands/uninstall_toolbox.py,sha256=Spf7Jou6PIzvSDEDnShivTunMpxUK2sv2b2NgqRNXqc,1833
18
- quantalogic/codeact/config.yaml,sha256=-L1P3Du2pGHRGsMf-cgGM46H2dUHE8UpZheFBkpakWc,357
19
- quantalogic/codeact/constants.py,sha256=izE67Yie2QO6qnpV2mQSrlqKOprkf_0_1P7cOBHqURk,244
20
- quantalogic/codeact/events.py,sha256=fjVQEDpf-8tAmPQpnlX_kj9UtmW3A-Si3iBVEeFY0Bs,1622
21
- quantalogic/codeact/examples/README.md,sha256=RvwhCaaCiBj13w7rFg3AtLL-SqnYZkau1W5Vq7QHsm4,9286
22
- quantalogic/codeact/examples/agent_sample.yaml,sha256=K2bo48rgI7DxFzWgJiN5NrfIdSTTDqqJx7_ZzpnSU2Q,672
23
- quantalogic/codeact/executor.py,sha256=tbYJgezlikfkedpiRnzNxxt4T6yaPca-uaoSRuTbyAM,8166
24
- quantalogic/codeact/history_manager.py,sha256=eKbE9vYcZ7PC1zXlPqYrFXq62H2ihYDJg6fXZ-WUuXw,3920
25
- quantalogic/codeact/llm_util.py,sha256=LgnCZXSkwB2QEOfXFmJLDyFHnRtFKCrIN31rv_vCAz8,1849
26
- quantalogic/codeact/plugin_manager.py,sha256=l-Bg8JeRDtjhsWAYINAPc_NvNBkXnzLSawzdnoTJsV8,3697
27
- quantalogic/codeact/prompts/error_format.j2,sha256=_8fNWxDr3U1Fq8SdzwRIBNsNG1WvPL9IAaos9Enf1C0,258
28
- quantalogic/codeact/prompts/generate_action.j2,sha256=WD2SZNrYlmzCHhkYiOaQE9zRw8qvl_Hf-budABpSIKU,4934
29
- quantalogic/codeact/prompts/generate_program.j2,sha256=YO-ubsk87ki60-4BNxYOd-rEDxwfd0qWrSHGC79HxNY,3234
30
- quantalogic/codeact/prompts/response_format.j2,sha256=TwO43dEG-3justNigpX4yyzGR1TGS3YDlpJQq8Z5Vf4,355
31
- quantalogic/codeact/react_agent.py,sha256=OyUF-6iShASMn0bkk5btMwpP15BPyLwgzXxjws18bxA,14020
32
- quantalogic/codeact/reasoner.py,sha256=qZ0Td7PFEaZONg0pVzM6dbCEQU-rEk4rCP4jUAn33yM,6827
33
- quantalogic/codeact/templates/toolbox/README.md.j2,sha256=gBkMp806acce7rIkEFoqgc8mgJqIpBTpQ64B96gzhPo,94
34
- quantalogic/codeact/templates/toolbox/pyproject.toml.j2,sha256=6JkxVjsq0wK-f5HtgifYYWcDHZ4kF6ww6WYMpE5Zh0k,388
35
- quantalogic/codeact/templates/toolbox/tools.py.j2,sha256=G7gOBYlTqqOIYf22eIYVZr5qvYO2gxv2Cu4V6BpniSM,176
36
- quantalogic/codeact/templates.py,sha256=bpMOKfN512CT0dmAT6trMmlrk0qifLeTs3s5N4G4vL8,327
37
- quantalogic/codeact/tools_manager.py,sha256=1WrNWWYiRKFY8tjw5MlIPpyTsvjftMDg8dsNcu9aSZw,11684
38
- quantalogic/codeact/utils.py,sha256=qkxIj9-uOu988I-4J7rVnpANs9nhQ6a44c4yenflva8,2295
39
- quantalogic/codeact/xml_utils.py,sha256=RgJfjw-RhCK2LAqI-7FeP2bIqhanUlMDsbici9uKDvY,5584
40
5
  quantalogic/coding_agent.py,sha256=WFfabRwwPZFV3Pw3seLKpSrFE9Li4pz8Z8mCdsUIDi8,5532
41
6
  quantalogic/config.py,sha256=bmPI2rvQ9M8Zdl1H7K588JgJdnkxSE0L5_i5aBqsagA,564
42
7
  quantalogic/console_print_events.py,sha256=yDtfOr7s5r_gLTgwkl_XoKSkUqNRZhqqq4hwR_oJsUw,2050
@@ -44,22 +9,11 @@ quantalogic/console_print_token.py,sha256=5IRVoPhwWZtSc4LpNoAsCQhCB_RnAW9chycGgy
44
9
  quantalogic/create_custom_agent.py,sha256=g9qh6w436wkiOYVii6f3SPRRY0wyPQ_bL07WnD1JSx0,19989
45
10
  quantalogic/docs_cli.py,sha256=Ie6NwKQuxLKwVQ-cjhFMCttXeiHDjGhNY4hSmMtc0Qg,1664
46
11
  quantalogic/event_emitter.py,sha256=wxzXrNhGiXAaa4EX7qTZEa81i3Mn4JKaU_T6E05QclE,16805
47
- quantalogic/flow/__init__.py,sha256=MD5FAdD6jnVnTPMIOmToKjFxHBQvLmOCT0VeaWhASBc,1295
48
- quantalogic/flow/flow.py,sha256=4430Fzhsua-0SLtnf3zEsc9WXdJW2JBwgp1MfkZpCb4,46374
49
- quantalogic/flow/flow_extractor.py,sha256=BkG2_XRnHtgOsH1RocunN-O2Z821ApzfcwR6f3HsFi0,36954
50
- quantalogic/flow/flow_generator.py,sha256=pAGGo99hq5VeAMAcoCnVjXX2ziJJ1jWKBLUPKJmWOW8,17368
51
- quantalogic/flow/flow_manager.py,sha256=orztXcxDCKZ0p7SUX2p8V4_HvKOba-ufX5MfuW9p8xs,31523
52
- quantalogic/flow/flow_manager_schema.py,sha256=0G6Oojuo_NacK0TKrNyB6DKkkTxmOQfBvh3hhVdAlqU,11539
53
- quantalogic/flow/flow_mermaid.py,sha256=TvQyobLK6Idg5q0rQH1Vr_XmuovwxbFKsdZaIxEJqwY,16242
54
- quantalogic/flow/flow_validator.py,sha256=6T4XUPjiHX_oKQVY_dXmRK8aICHnvQCKcyXAaomXtWY,23581
55
- quantalogic/flow/flow_yaml.linkedin.md,sha256=OH1Hoij5ijRZqDju7aaP2GbbTvOcPotBlkaBMajc4UM,1040
56
- quantalogic/flow/flow_yaml.md,sha256=NIf2MWsmfckVqCQmTLfyo__B_lHg7NcSRQEjCxf7Xg0,27321
57
- quantalogic/flow/templates/prompt_check_inventory.j2,sha256=ecIZE9rpSubhKxSubQGVaQkQNsM9oMPW-WSkkn4q9VY,119
58
- quantalogic/flow/templates/system_check_inventory.j2,sha256=FaLO9_MgoKmaVmvaK9pzHSLkrLPWtPQO_ISreSwgRg8,124
12
+ quantalogic/flow/__init__.py,sha256=Csz1c6um5UtLaNO7HxdsP0pB8jTF774ZisrszibNNrQ,552
59
13
  quantalogic/generative_model.py,sha256=os30wdVRq3OsSf8M7TjoaGqJweL99UINQtSGCwoE91k,15913
60
14
  quantalogic/get_model_info.py,sha256=RgblwjjP7G97v_AzoGbXxXBIO082jVCRmvRwxnEpW_s,2991
61
15
  quantalogic/interactive_text_editor.py,sha256=CzefvRiLscFfOKBS4gmrI10Gn3SF_eS5zbiLVQ9Gugw,16334
62
- quantalogic/main.py,sha256=5mnO-fcAOgbD_Bc1W2fe27M47E-nZAOL8I5dVgoC8Mo,11978
16
+ quantalogic/main.py,sha256=CZ1uOWeofvz1kf5vQ6cpbCMhiZK9qfnL-zyJQWeVKLM,12282
63
17
  quantalogic/memory.py,sha256=zbtRuM05jaS2lJll-92dt5JfYVLERnF_m_9xqp2x-k0,6304
64
18
  quantalogic/model_info.py,sha256=j7QqvjEFQDGpDOgQs8uTkVyI3a50Oa_nrsQjyxizTLc,272
65
19
  quantalogic/model_info_list.py,sha256=Xeeb7QS4xEpe9ke7Guh0CxEx-Hl59U4kC-qzVts-eAU,2437
@@ -178,7 +132,7 @@ quantalogic/tools/serpapi_search_tool.py,sha256=sX-Noch77kGP2XiwislPNFyy3_4TH6Tw
178
132
  quantalogic/tools/sql_query_tool.py,sha256=jEDZLlxOsB2bzsWlEqsqvTKiyovnRuk0XvgtwW7-WSQ,6055
179
133
  quantalogic/tools/task_complete_tool.py,sha256=L8tuyVoN07Q2hOsxx17JTW0C5Jd_N-C0i_0PtCUQUKU,929
180
134
  quantalogic/tools/terminal_capture_tool.py,sha256=I3Ik9JSgHUPb5eV7ArZv9PISofkWWLh_7fCqX4RJRAg,10567
181
- quantalogic/tools/tool.py,sha256=-IEfQzXT5t38GwEB3xjlcsmKCmDnMgfYjn97tpQg2DI,37678
135
+ quantalogic/tools/tool.py,sha256=ONpEHiepXx8JfnbxhjWHMWlPPfGTTCmOKVQnNW91d74,139
182
136
  quantalogic/tools/unified_diff_tool.py,sha256=o7OiYnCM5MjbPlQTpB2OmkMQRI9zjdToQmgVkhiTvOI,14148
183
137
  quantalogic/tools/utilities/__init__.py,sha256=cOsQLYzJDnTY7mUjYaMSF_jmb5kez34MQc9xCWxm2NE,733
184
138
  quantalogic/tools/utilities/csv_processor_tool.py,sha256=Mu_EPVj6iYAclNaVX_vbkekxcNwPYwy7dW1SCY22EwY,9023
@@ -214,8 +168,8 @@ quantalogic/version_check.py,sha256=JyQFTNMDWtpHCLnN-BiakzB2cyXf6kUFsTjvmSruZi4,
214
168
  quantalogic/welcome_message.py,sha256=o4tHdgabNuIV9kbIDPgS3_2yzJhayK30oKad2UouYDc,3020
215
169
  quantalogic/xml_parser.py,sha256=bLLwIwO-VEHWF3heNS7nuPC8wgdYw9F_fVZZNW1figY,11728
216
170
  quantalogic/xml_tool_parser.py,sha256=hGHA1q20JUoTNTbZYmi4FTdA5I25-AGEIP8DwZgQCNA,3897
217
- quantalogic-0.80.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
218
- quantalogic-0.80.dist-info/METADATA,sha256=yRzUTVeu_Ju2Ciz1QzjIyitUijBfRd_f9yoITrqEqS4,33028
219
- quantalogic-0.80.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
220
- quantalogic-0.80.dist-info/entry_points.txt,sha256=wgSq5SRU98yvlRHGEZD1Xn7sS5CSjH2RfUtTa6Qy28Q,52
221
- quantalogic-0.80.dist-info/RECORD,,
171
+ quantalogic-0.93.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
172
+ quantalogic-0.93.dist-info/METADATA,sha256=ymSaIw5s2I_Q3uHkgvhxdVU1hK1zSJcn9_pygYQfFsw,16763
173
+ quantalogic-0.93.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
174
+ quantalogic-0.93.dist-info/entry_points.txt,sha256=wgSq5SRU98yvlRHGEZD1Xn7sS5CSjH2RfUtTa6Qy28Q,52
175
+ quantalogic-0.93.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- - [X] name clash between functions of tools
2
- - [X] agent configurable using a Yaml file
3
- - agent config
4
- - name
5
- - sop
6
- - backstory
7
- - personality
8
- - interests
9
- - style
10
- - [ ] persistence of the agent state between tasks
11
- - [X] create toolbox
12
- - [X] configurable tools
13
- - Keys
14
- - secrets
File without changes