quantalogic 0.2.5__tar.gz → 0.2.6__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.5 → quantalogic-0.2.6}/PKG-INFO +1 -1
  2. {quantalogic-0.2.5 → quantalogic-0.2.6}/pyproject.toml +1 -1
  3. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/main.py +29 -11
  4. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/version.py +1 -1
  5. {quantalogic-0.2.5 → quantalogic-0.2.6}/LICENSE +0 -0
  6. {quantalogic-0.2.5 → quantalogic-0.2.6}/README.md +0 -0
  7. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/__init__.py +0 -0
  8. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/agent.py +0 -0
  9. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/agent_config.py +0 -0
  10. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/coding_agent.py +0 -0
  11. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/event_emitter.py +0 -0
  12. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/generative_model.py +0 -0
  13. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/interactive_text_editor.py +0 -0
  14. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/memory.py +0 -0
  15. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/model_names.py +0 -0
  16. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/print_event.py +0 -0
  17. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/prompts.py +0 -0
  18. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/__init__.py +0 -0
  19. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/agent_server.py +0 -0
  20. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/models.py +0 -0
  21. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/routes.py +0 -0
  22. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/state.py +0 -0
  23. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/static/js/event_visualizer.js +0 -0
  24. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/static/js/quantalogic.js +0 -0
  25. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/server/templates/index.html +0 -0
  26. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tool_manager.py +0 -0
  27. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/__init__.py +0 -0
  28. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/agent_tool.py +0 -0
  29. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/download_http_file_tool.py +0 -0
  30. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/edit_whole_content_tool.py +0 -0
  31. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/elixir_tool.py +0 -0
  32. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/execute_bash_command_tool.py +0 -0
  33. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/input_question_tool.py +0 -0
  34. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/__init__.py +0 -0
  35. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/c_handler.py +0 -0
  36. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/cpp_handler.py +0 -0
  37. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/go_handler.py +0 -0
  38. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/java_handler.py +0 -0
  39. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/javascript_handler.py +0 -0
  40. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/python_handler.py +0 -0
  41. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/rust_handler.py +0 -0
  42. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/scala_handler.py +0 -0
  43. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/language_handlers/typescript_handler.py +0 -0
  44. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/list_directory_tool.py +0 -0
  45. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/llm_tool.py +0 -0
  46. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/markitdown_tool.py +0 -0
  47. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/nodejs_tool.py +0 -0
  48. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/python_tool.py +0 -0
  49. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/read_file_block_tool.py +0 -0
  50. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/read_file_tool.py +0 -0
  51. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/replace_in_file_tool.py +0 -0
  52. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/ripgrep_tool.py +0 -0
  53. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/search_definition_names.py +0 -0
  54. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/task_complete_tool.py +0 -0
  55. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/tool.py +0 -0
  56. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/unified_diff_tool.py +0 -0
  57. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/tools/write_file_tool.py +0 -0
  58. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/__init__.py +0 -0
  59. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/ask_user_validation.py +0 -0
  60. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/download_http_file.py +0 -0
  61. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/get_coding_environment.py +0 -0
  62. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/get_environment.py +0 -0
  63. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/get_quantalogic_rules_content.py +0 -0
  64. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/git_ls.py +0 -0
  65. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/read_file.py +0 -0
  66. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/utils/read_http_text_content.py +0 -0
  67. {quantalogic-0.2.5 → quantalogic-0.2.6}/quantalogic/xml_parser.py +0 -0
  68. {quantalogic-0.2.5 → quantalogic-0.2.6}/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.5
3
+ Version: 0.2.6
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.5"
3
+ version = "0.2.6"
4
4
  description = "QuantaLogic ReAct Agents"
5
5
  authors = ["Raphaël MANSUY <raphael.mansuy@gmail.com>"]
6
6
  readme = "README.md"
@@ -51,17 +51,27 @@ def create_agent_for_mode(mode: str, model_name: str) -> Agent:
51
51
  raise ValueError(f"Unknown agent mode: {mode}")
52
52
 
53
53
 
54
- def switch_verbose(verbose_mode: bool) -> None:
54
+ def configure_logger(log_level: str) -> None:
55
+ """Configure the logger with the specified log level and format."""
56
+ logger.remove()
57
+ logger.add(sys.stderr, level=log_level.upper(), format="{time} | {level} | {message}")
58
+ logger.info(f"Log level set to: {log_level}")
59
+
60
+
61
+ def set_litellm_verbose(verbose_mode: bool) -> None:
62
+ """Set the verbosity of the litellm library."""
55
63
  import litellm
64
+ litellm.set_verbose = verbose_mode
56
65
 
57
- if verbose_mode:
58
- logger.add(sys.stderr, level="DEBUG", format="{time} | {level} | {message}")
59
- logger.info("Verbose mode enabled.")
66
+
67
+ def switch_verbose(verbose_mode: bool, log_level: str = "info") -> None:
68
+ """Switch verbose mode and configure logger and litellm verbosity."""
69
+ if log_level == "debug":
70
+ configure_logger("DEBUG")
60
71
  else:
61
- logger.info("Verbose mode disabled.")
62
- logger.remove()
72
+ configure_logger(log_level)
63
73
 
64
- litellm.set_verbose = verbose_mode
74
+ set_litellm_verbose(verbose_mode)
65
75
 
66
76
 
67
77
  def get_task_from_file(file_path: str) -> str:
@@ -103,15 +113,23 @@ def display_welcome_message(console: Console, model_name: str) -> None:
103
113
 
104
114
  @click.group(invoke_without_command=True)
105
115
  @click.option("--version", is_flag=True, help="Show version information.")
116
+ @click.option(
117
+ "--model-name",
118
+ default=MODEL_NAME,
119
+ help='Specify the model to use (litellm format, e.g. "openrouter/deepseek-chat").',
120
+ )
121
+ @click.option("--log", type=click.Choice(["info", "debug", "warning"]), default="info", help="Set logging level (info/debug/warning).")
122
+ @click.option("--verbose", is_flag=True, help="Enable verbose output.")
123
+ @click.option("--mode", type=click.Choice(AGENT_MODES), default="code", help="Agent mode (code/search/full).")
106
124
  @click.pass_context
107
- def cli(ctx: click.Context, version: bool) -> None:
125
+ def cli(ctx: click.Context, version: bool, model_name: str, verbose: bool, mode: str, log: str) -> None:
108
126
  """QuantaLogic AI Assistant - A powerful AI tool for various tasks."""
109
127
  if version:
110
128
  console = Console()
111
129
  console.print(f"QuantaLogic version: {get_version()}")
112
130
  sys.exit(0)
113
131
  if ctx.invoked_subcommand is None:
114
- ctx.invoke(task)
132
+ ctx.invoke(task, model_name=model_name, verbose=verbose, mode=mode, log=log)
115
133
 
116
134
 
117
135
  @cli.command()
@@ -124,10 +142,10 @@ def cli(ctx: click.Context, version: bool) -> None:
124
142
  @click.option("--verbose", is_flag=True, help="Enable verbose output.")
125
143
  @click.option("--mode", type=click.Choice(AGENT_MODES), default="code", help="Agent mode (code/search/full).")
126
144
  @click.argument("task", required=False)
127
- def task(file: Optional[str], model_name: str, verbose: bool, mode: str, task: Optional[str]) -> None:
145
+ def task(file: Optional[str], model_name: str, verbose: bool, mode: str, task: Optional[str], log: str) -> None:
128
146
  """Execute a task with the QuantaLogic AI Assistant."""
129
147
  console = Console()
130
- switch_verbose(verbose)
148
+ switch_verbose(verbose, log)
131
149
 
132
150
  try:
133
151
  if file:
@@ -1,4 +1,4 @@
1
1
 
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  def get_version() -> str:
4
4
  return VERSION
File without changes
File without changes