quantalogic 0.2.3__tar.gz → 0.2.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. {quantalogic-0.2.3 → quantalogic-0.2.5}/PKG-INFO +1 -1
  2. {quantalogic-0.2.3 → quantalogic-0.2.5}/pyproject.toml +1 -1
  3. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/agent.py +11 -8
  4. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/version.py +1 -1
  5. {quantalogic-0.2.3 → quantalogic-0.2.5}/LICENSE +0 -0
  6. {quantalogic-0.2.3 → quantalogic-0.2.5}/README.md +0 -0
  7. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/__init__.py +0 -0
  8. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/agent_config.py +0 -0
  9. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/coding_agent.py +0 -0
  10. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/event_emitter.py +0 -0
  11. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/generative_model.py +0 -0
  12. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/interactive_text_editor.py +0 -0
  13. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/main.py +0 -0
  14. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/memory.py +0 -0
  15. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/model_names.py +0 -0
  16. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/print_event.py +0 -0
  17. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/prompts.py +0 -0
  18. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/__init__.py +0 -0
  19. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/agent_server.py +0 -0
  20. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/models.py +0 -0
  21. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/routes.py +0 -0
  22. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/state.py +0 -0
  23. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/static/js/event_visualizer.js +0 -0
  24. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/static/js/quantalogic.js +0 -0
  25. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/server/templates/index.html +0 -0
  26. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tool_manager.py +0 -0
  27. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/__init__.py +0 -0
  28. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/agent_tool.py +0 -0
  29. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/download_http_file_tool.py +0 -0
  30. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/edit_whole_content_tool.py +0 -0
  31. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/elixir_tool.py +0 -0
  32. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/execute_bash_command_tool.py +0 -0
  33. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/input_question_tool.py +0 -0
  34. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/__init__.py +0 -0
  35. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/c_handler.py +0 -0
  36. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/cpp_handler.py +0 -0
  37. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/go_handler.py +0 -0
  38. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/java_handler.py +0 -0
  39. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/javascript_handler.py +0 -0
  40. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/python_handler.py +0 -0
  41. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/rust_handler.py +0 -0
  42. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/scala_handler.py +0 -0
  43. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/language_handlers/typescript_handler.py +0 -0
  44. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/list_directory_tool.py +0 -0
  45. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/llm_tool.py +0 -0
  46. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/markitdown_tool.py +0 -0
  47. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/nodejs_tool.py +0 -0
  48. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/python_tool.py +0 -0
  49. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/read_file_block_tool.py +0 -0
  50. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/read_file_tool.py +0 -0
  51. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/replace_in_file_tool.py +0 -0
  52. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/ripgrep_tool.py +0 -0
  53. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/search_definition_names.py +0 -0
  54. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/task_complete_tool.py +0 -0
  55. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/tool.py +0 -0
  56. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/unified_diff_tool.py +0 -0
  57. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/tools/write_file_tool.py +0 -0
  58. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/__init__.py +0 -0
  59. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/ask_user_validation.py +0 -0
  60. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/download_http_file.py +0 -0
  61. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/get_coding_environment.py +0 -0
  62. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/get_environment.py +0 -0
  63. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/get_quantalogic_rules_content.py +0 -0
  64. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/git_ls.py +0 -0
  65. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/read_file.py +0 -0
  66. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/utils/read_http_text_content.py +0 -0
  67. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/xml_parser.py +0 -0
  68. {quantalogic-0.2.3 → quantalogic-0.2.5}/quantalogic/xml_tool_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quantalogic
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: QuantaLogic ReAct Agents
5
5
  Author: Raphaël MANSUY
6
6
  Author-email: raphael.mansuy@gmail.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "quantalogic"
3
- version = "0.2.3"
3
+ version = "0.2.5"
4
4
  description = "QuantaLogic ReAct Agents"
5
5
  authors = ["Raphaël MANSUY <raphael.mansuy@gmail.com>"]
6
6
  readme = "README.md"
@@ -21,12 +21,6 @@ from quantalogic.utils.ask_user_validation import console_ask_for_user_validatio
21
21
  from quantalogic.xml_parser import ToleranceXMLParser
22
22
  from quantalogic.xml_tool_parser import ToolParser
23
23
 
24
- # Configure logger based on environment variable
25
- log_level = os.getenv("LOG_LEVEL", "ERROR")
26
- logger.remove()
27
- logger.add(sys.stderr, level=log_level)
28
-
29
-
30
24
  # Maximum ratio occupancy of the occupied memory
31
25
  MAX_OCCUPANCY = 90.0
32
26
 
@@ -81,7 +75,7 @@ class Agent(BaseModel):
81
75
 
82
76
  def __init__(
83
77
  self,
84
- model_name: str = "ollama/qwen2.5-coder:14b",
78
+ model_name: str = "",
85
79
  memory: AgentMemory = AgentMemory(),
86
80
  tools: list[Tool] = [TaskCompleteTool()],
87
81
  ask_for_user_validation: Callable[[str], bool] = console_ask_for_user_validation,
@@ -91,17 +85,21 @@ class Agent(BaseModel):
91
85
  ):
92
86
  """Initialize the agent with model, memory, tools, and configurations."""
93
87
  try:
88
+ logger.debug("Initializing agent...")
94
89
  # Add TaskCompleteTool to the tools list if not already present
95
90
  if TaskCompleteTool() not in tools:
96
91
  tools.append(TaskCompleteTool())
97
92
 
98
93
  tool_manager = ToolManager(tools={tool.name: tool for tool in tools})
99
94
  environment = get_environment()
95
+ logger.debug(f"Environment details: {environment}")
100
96
  tools_markdown = tool_manager.to_markdown()
97
+ logger.debug(f"Tools Markdown: {tools_markdown}")
101
98
 
102
99
  system_prompt_text = system_prompt(
103
100
  tools=tools_markdown, environment=environment, expertise=specific_expertise
104
101
  )
102
+ logger.debug(f"System prompt: {system_prompt_text}")
105
103
 
106
104
  config = AgentConfig(
107
105
  environment_details=environment,
@@ -109,6 +107,7 @@ class Agent(BaseModel):
109
107
  system_prompt=system_prompt_text,
110
108
  )
111
109
 
110
+ logger.debug("Base class init started ...")
112
111
  super().__init__(
113
112
  model=GenerativeModel(model=model_name),
114
113
  memory=memory,
@@ -119,7 +118,7 @@ class Agent(BaseModel):
119
118
  task_to_solve=task_to_solve,
120
119
  specific_expertise=specific_expertise,
121
120
  )
122
- logger.info("Agent initialized successfully.")
121
+ logger.debug("Agent initialized successfully.")
123
122
  except Exception as e:
124
123
  logger.error(f"Failed to initialize agent: {str(e)}")
125
124
  raise
@@ -135,6 +134,7 @@ class Agent(BaseModel):
135
134
  Returns:
136
135
  str: The final response after task completion.
137
136
  """
137
+ logger.debug(f"Solving task... {task}")
138
138
  self._reset_session(task_to_solve=task, max_iterations=max_iterations)
139
139
 
140
140
  # Add system prompt to memory
@@ -215,10 +215,13 @@ class Agent(BaseModel):
215
215
  # Emit event: Task Solve End
216
216
  self._emit_event("task_solve_end")
217
217
 
218
+ logger.debug(f"Task solved: {answer}")
219
+
218
220
  return answer
219
221
 
220
222
  def _reset_session(self, task_to_solve: str = "", max_iterations: int = 30):
221
223
  """Reset the agent's session."""
224
+ logger.debug("Resetting session...")
222
225
  self.task_to_solve = task_to_solve
223
226
  self.memory.reset()
224
227
  self.variable_store.reset()
@@ -1,4 +1,4 @@
1
1
 
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.5"
3
3
  def get_version() -> str:
4
4
  return VERSION
File without changes
File without changes