janito 2.33.0__py3-none-any.whl → 3.1.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.
Files changed (147) hide show
  1. janito/cli/chat_mode/bindings.py +26 -0
  2. janito/cli/chat_mode/session.py +7 -1
  3. janito/cli/cli_commands/check_tools.py +212 -0
  4. janito/cli/cli_commands/list_plugins.py +52 -43
  5. janito/cli/core/getters.py +3 -0
  6. janito/cli/main_cli.py +9 -12
  7. janito/cli/prompt_core.py +19 -9
  8. janito/drivers/openai/driver.py +1 -0
  9. janito/drivers/zai/driver.py +1 -0
  10. janito/llm/agent.py +30 -17
  11. janito/llm/auth_utils.py +14 -5
  12. janito/llm/cancellation_manager.py +62 -0
  13. janito/llm/driver.py +7 -0
  14. janito/llm/enter_cancellation.py +93 -0
  15. janito/plugin_system/__init__.py +10 -0
  16. janito/{plugins → plugin_system}/base.py +5 -2
  17. janito/{plugins/core_loader_fixed.py → plugin_system/core_loader.py} +45 -26
  18. janito/plugin_system/core_loader_fixed.py +149 -0
  19. janito/plugins/__init__.py +31 -12
  20. janito/plugins/auto_loader_fixed.py +12 -11
  21. janito/plugins/builtin.py +15 -1
  22. janito/plugins/core/__init__.py +7 -0
  23. janito/plugins/core/codeanalyzer/__init__.py +43 -0
  24. janito/plugins/core/filemanager/__init__.py +124 -0
  25. janito/plugins/core/filemanager/tools/create_file.py +87 -0
  26. janito/plugins/core/filemanager/tools/replace_text_in_file.py +270 -0
  27. janito/plugins/core/imagedisplay/__init__.py +14 -0
  28. janito/plugins/core/imagedisplay/plugin.py +51 -0
  29. janito/plugins/core/imagedisplay/tools/__init__.py +1 -0
  30. janito/plugins/core/imagedisplay/tools/show_image.py +83 -0
  31. janito/{tools/adapters/local → plugins/core/imagedisplay/tools}/show_image_grid.py +13 -5
  32. janito/plugins/core/system/__init__.py +23 -0
  33. janito/plugins/core_adapter.py +11 -9
  34. janito/plugins/dev/__init__.py +7 -0
  35. janito/plugins/dev/pythondev/__init__.py +37 -0
  36. janito/plugins/dev/visualization/__init__.py +23 -0
  37. janito/plugins/discovery.py +5 -5
  38. janito/plugins/example_plugin.py +108 -0
  39. janito/plugins/manager.py +1 -1
  40. janito/plugins/tools/__init__.py +10 -0
  41. janito/{tools/adapters/local → plugins/tools}/ask_user.py +3 -3
  42. janito/plugins/tools/copy_file.py +87 -0
  43. janito/plugins/tools/core_tools_plugin.py +88 -0
  44. janito/plugins/tools/create_directory.py +70 -0
  45. janito/{tools/adapters/local → plugins/tools}/create_file.py +4 -4
  46. janito/plugins/tools/decorators.py +19 -0
  47. janito/plugins/tools/delete_text_in_file.py +134 -0
  48. janito/{tools/adapters/local → plugins/tools}/fetch_url.py +3 -3
  49. janito/plugins/tools/find_files.py +143 -0
  50. janito/plugins/tools/get_file_outline/__init__.py +7 -0
  51. janito/plugins/tools/get_file_outline/core.py +122 -0
  52. janito/plugins/tools/get_file_outline/java_outline.py +47 -0
  53. janito/plugins/tools/get_file_outline/markdown_outline.py +14 -0
  54. janito/plugins/tools/get_file_outline/python_outline.py +303 -0
  55. janito/plugins/tools/get_file_outline/search_outline.py +36 -0
  56. janito/plugins/tools/move_file.py +131 -0
  57. janito/plugins/tools/open_html_in_browser.py +51 -0
  58. janito/plugins/tools/open_url.py +37 -0
  59. janito/plugins/tools/python_code_run.py +172 -0
  60. janito/plugins/tools/python_command_run.py +171 -0
  61. janito/plugins/tools/python_file_run.py +172 -0
  62. janito/plugins/tools/read_chart.py +259 -0
  63. janito/plugins/tools/read_files.py +58 -0
  64. janito/plugins/tools/remove_directory.py +55 -0
  65. janito/plugins/tools/remove_file.py +58 -0
  66. janito/{tools/adapters/local → plugins/tools}/replace_text_in_file.py +4 -4
  67. janito/plugins/tools/run_bash_command.py +183 -0
  68. janito/plugins/tools/run_powershell_command.py +218 -0
  69. janito/plugins/tools/search_text/__init__.py +7 -0
  70. janito/plugins/tools/search_text/core.py +205 -0
  71. janito/plugins/tools/search_text/match_lines.py +67 -0
  72. janito/plugins/tools/search_text/pattern_utils.py +73 -0
  73. janito/plugins/tools/search_text/traverse_directory.py +145 -0
  74. janito/{tools/adapters/local → plugins/tools}/show_image.py +15 -6
  75. janito/plugins/tools/show_image_grid.py +85 -0
  76. janito/plugins/tools/validate_file_syntax/__init__.py +7 -0
  77. janito/plugins/tools/validate_file_syntax/core.py +114 -0
  78. janito/plugins/tools/validate_file_syntax/css_validator.py +35 -0
  79. janito/plugins/tools/validate_file_syntax/html_validator.py +100 -0
  80. janito/plugins/tools/validate_file_syntax/jinja2_validator.py +50 -0
  81. janito/plugins/tools/validate_file_syntax/js_validator.py +27 -0
  82. janito/plugins/tools/validate_file_syntax/json_validator.py +6 -0
  83. janito/plugins/tools/validate_file_syntax/markdown_validator.py +109 -0
  84. janito/plugins/tools/validate_file_syntax/ps1_validator.py +32 -0
  85. janito/plugins/tools/validate_file_syntax/python_validator.py +5 -0
  86. janito/plugins/tools/validate_file_syntax/xml_validator.py +11 -0
  87. janito/plugins/tools/validate_file_syntax/yaml_validator.py +6 -0
  88. janito/plugins/tools/view_file.py +172 -0
  89. janito/plugins/ui/__init__.py +7 -0
  90. janito/plugins/ui/userinterface/__init__.py +16 -0
  91. janito/plugins/ui/userinterface/tools/ask_user.py +110 -0
  92. janito/plugins/web/__init__.py +7 -0
  93. janito/plugins/web/webtools/__init__.py +33 -0
  94. janito/plugins/web/webtools/tools/fetch_url.py +458 -0
  95. janito/tools/__init__.py +31 -7
  96. janito/tools/adapters/__init__.py +6 -1
  97. janito/tools/adapters/local/__init__.py +7 -70
  98. janito/tools/cli_initializer.py +88 -0
  99. janito/tools/function_adapter.py +93 -16
  100. janito/tools/initialize.py +70 -0
  101. {janito-2.33.0.dist-info → janito-3.1.0.dist-info}/METADATA +1 -2
  102. {janito-2.33.0.dist-info → janito-3.1.0.dist-info}/RECORD +146 -76
  103. janito/plugins/core_loader.py +0 -120
  104. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/get_file_outline/__init__.py +0 -0
  105. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/get_file_outline/core.py +0 -0
  106. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/get_file_outline/java_outline.py +0 -0
  107. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/get_file_outline/markdown_outline.py +0 -0
  108. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/get_file_outline/python_outline.py +0 -0
  109. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/get_file_outline/search_outline.py +0 -0
  110. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/search_text/__init__.py +0 -0
  111. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/search_text/core.py +0 -0
  112. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/search_text/match_lines.py +0 -0
  113. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/search_text/pattern_utils.py +0 -0
  114. /janito/{tools/adapters/local → plugins/core/codeanalyzer/tools}/search_text/traverse_directory.py +0 -0
  115. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/copy_file.py +0 -0
  116. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/create_directory.py +0 -0
  117. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/delete_text_in_file.py +0 -0
  118. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/find_files.py +0 -0
  119. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/move_file.py +0 -0
  120. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/read_files.py +0 -0
  121. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/remove_directory.py +0 -0
  122. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/remove_file.py +0 -0
  123. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/__init__.py +0 -0
  124. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/core.py +0 -0
  125. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/css_validator.py +0 -0
  126. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/html_validator.py +0 -0
  127. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/jinja2_validator.py +0 -0
  128. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/js_validator.py +0 -0
  129. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/json_validator.py +0 -0
  130. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/markdown_validator.py +0 -0
  131. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/ps1_validator.py +0 -0
  132. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/python_validator.py +0 -0
  133. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/xml_validator.py +0 -0
  134. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/validate_file_syntax/yaml_validator.py +0 -0
  135. /janito/{tools/adapters/local → plugins/core/filemanager/tools}/view_file.py +0 -0
  136. /janito/{tools/adapters/local → plugins/core/system/tools}/run_bash_command.py +0 -0
  137. /janito/{tools/adapters/local → plugins/core/system/tools}/run_powershell_command.py +0 -0
  138. /janito/{tools/adapters/local → plugins/dev/pythondev/tools}/python_code_run.py +0 -0
  139. /janito/{tools/adapters/local → plugins/dev/pythondev/tools}/python_command_run.py +0 -0
  140. /janito/{tools/adapters/local → plugins/dev/pythondev/tools}/python_file_run.py +0 -0
  141. /janito/{tools/adapters/local → plugins/dev/visualization/tools}/read_chart.py +0 -0
  142. /janito/{tools/adapters/local → plugins/web/webtools/tools}/open_html_in_browser.py +0 -0
  143. /janito/{tools/adapters/local → plugins/web/webtools/tools}/open_url.py +0 -0
  144. {janito-2.33.0.dist-info → janito-3.1.0.dist-info}/WHEEL +0 -0
  145. {janito-2.33.0.dist-info → janito-3.1.0.dist-info}/entry_points.txt +0 -0
  146. {janito-2.33.0.dist-info → janito-3.1.0.dist-info}/licenses/LICENSE +0 -0
  147. {janito-2.33.0.dist-info → janito-3.1.0.dist-info}/top_level.txt +0 -0
@@ -11,55 +11,132 @@ from janito.tools.tool_base import ToolBase, ToolPermissions
11
11
 
12
12
  class FunctionToolAdapter(ToolBase):
13
13
  """Adapter that wraps a function into a ToolBase class."""
14
-
14
+
15
15
  def __init__(self, func, tool_name: str = None, description: str = None):
16
16
  super().__init__()
17
17
  self._func = func
18
- self.tool_name = tool_name or func.__name__
18
+ self.tool_name = tool_name or getattr(func, "tool_name", func.__name__)
19
19
  self._description = description or func.__doc__ or f"Tool: {self.tool_name}"
20
20
  self.permissions = ToolPermissions(read=True, write=True, execute=True)
21
-
22
- def run(self, **kwargs) -> Any:
21
+
22
+ def run(
23
+ self,
24
+ path: str = None,
25
+ content: str = None,
26
+ overwrite: bool = None,
27
+ sources: str = None,
28
+ target: str = None,
29
+ recursive: bool = None,
30
+ from_line: int = None,
31
+ to_line: int = None,
32
+ search_text: str = None,
33
+ replacement_text: str = None,
34
+ use_regex: bool = None,
35
+ case_sensitive: bool = None,
36
+ max_depth: int = None,
37
+ include_gitignored: bool = None,
38
+ timeout: int = None,
39
+ require_confirmation: bool = None,
40
+ data: dict = None,
41
+ title: str = None,
42
+ width: int = None,
43
+ height: int = None,
44
+ query: str = None,
45
+ paths: str = None,
46
+ src_path: str = None,
47
+ dest_path: str = None,
48
+ code: str = None,
49
+ pattern: str = None,
50
+ ) -> str:
23
51
  """Execute the wrapped function."""
24
- return self._func(**kwargs)
25
-
52
+ # Build kwargs from non-None parameters
53
+ import inspect
54
+
55
+ sig = inspect.signature(self._func)
56
+ filtered_kwargs = {}
57
+
58
+ # Map parameter names to their actual values
59
+ param_map = {
60
+ "path": path,
61
+ "content": content,
62
+ "overwrite": overwrite,
63
+ "sources": sources,
64
+ "target": target,
65
+ "recursive": recursive,
66
+ "from_line": from_line,
67
+ "to_line": to_line,
68
+ "search_text": search_text,
69
+ "replacement_text": replacement_text,
70
+ "use_regex": use_regex,
71
+ "case_sensitive": case_sensitive,
72
+ "max_depth": max_depth,
73
+ "include_gitignored": include_gitignored,
74
+ "timeout": timeout,
75
+ "require_confirmation": require_confirmation,
76
+ "data": data,
77
+ "title": title,
78
+ "width": width,
79
+ "height": height,
80
+ "query": query,
81
+ "paths": paths,
82
+ "src_path": src_path,
83
+ "dest_path": dest_path,
84
+ "code": code,
85
+ "pattern": pattern,
86
+ }
87
+
88
+ # Only include parameters that exist in the function signature
89
+ for name, param in sig.parameters.items():
90
+ if name in param_map and param_map[name] is not None:
91
+ filtered_kwargs[name] = param_map[name]
92
+
93
+ result = self._func(**filtered_kwargs)
94
+ return str(result) if result is not None else ""
95
+
26
96
  def get_signature(self) -> Dict[str, Any]:
27
97
  """Get function signature for documentation."""
28
98
  sig = inspect.signature(self._func)
29
99
  type_hints = get_type_hints(self._func)
30
-
100
+
31
101
  params = {}
32
102
  for name, param in sig.parameters.items():
33
103
  param_info = {
34
104
  "type": str(type_hints.get(name, Any)),
35
- "default": param.default if param.default != inspect.Parameter.empty else None,
105
+ "default": (
106
+ param.default if param.default != inspect.Parameter.empty else None
107
+ ),
36
108
  "required": param.default == inspect.Parameter.empty,
37
109
  }
38
110
  params[name] = param_info
39
-
111
+
40
112
  return {
41
113
  "name": self.tool_name,
42
114
  "description": self._description,
43
115
  "parameters": params,
44
- "return_type": str(type_hints.get("return", Any))
116
+ "return_type": str(type_hints.get("return", Any)),
45
117
  }
46
118
 
47
119
 
48
120
  def create_function_tool(func, tool_name: str = None, description: str = None) -> type:
49
121
  """
50
122
  Create a ToolBase class from a function.
51
-
123
+
52
124
  Args:
53
125
  func: The function to wrap
54
126
  tool_name: Optional custom tool name
55
127
  description: Optional custom description
56
-
128
+
57
129
  Returns:
58
130
  A ToolBase subclass that wraps the function
59
131
  """
60
-
132
+ # Resolve tool_name in outer scope
133
+ resolved_tool_name = tool_name or getattr(func, "tool_name", func.__name__)
134
+
61
135
  class DynamicFunctionTool(FunctionToolAdapter):
136
+ permissions = ToolPermissions(read=True, write=True, execute=True)
137
+ tool_name = resolved_tool_name
138
+
62
139
  def __init__(self):
63
- super().__init__(func, tool_name, description)
64
-
65
- return DynamicFunctionTool
140
+ super().__init__(func, DynamicFunctionTool.tool_name, description)
141
+
142
+ return DynamicFunctionTool
@@ -0,0 +1,70 @@
1
+ """
2
+ Initialize janito tools for CLI and programmatic usage.
3
+
4
+ This module provides functions to load core plugins and register their tools
5
+ with the local tools adapter.
6
+ """
7
+
8
+ import sys
9
+ from pathlib import Path
10
+ from typing import List, Optional
11
+
12
+ from janito.plugin_system.core_loader_fixed import load_core_plugin
13
+ from janito.tools.adapters.local.adapter import LocalToolsAdapter
14
+
15
+
16
+ def initialize_tools(adapter: Optional[LocalToolsAdapter] = None) -> LocalToolsAdapter:
17
+ """
18
+ Initialize all janito tools by loading core plugins and registering tools.
19
+
20
+ Args:
21
+ adapter: LocalToolsAdapter instance to register tools with.
22
+ If None, creates a new instance.
23
+
24
+ Returns:
25
+ LocalToolsAdapter with all tools registered.
26
+ """
27
+ if adapter is None:
28
+ adapter = LocalToolsAdapter()
29
+
30
+ # Core plugins to load
31
+ core_plugins = [
32
+ "core.filemanager",
33
+ "core.codeanalyzer",
34
+ "core.system",
35
+ "core.imagedisplay",
36
+ "dev.pythondev",
37
+ "dev.visualization",
38
+ ]
39
+
40
+ loaded_count = 0
41
+ for plugin_name in core_plugins:
42
+ plugin = load_core_plugin(plugin_name)
43
+ if plugin:
44
+ tools = plugin.get_tools()
45
+ for tool_class in tools:
46
+ adapter.register_tool(tool_class)
47
+ loaded_count += 1
48
+
49
+ return adapter
50
+
51
+
52
+ def get_initialized_adapter() -> LocalToolsAdapter:
53
+ """Get a pre-initialized LocalToolsAdapter with all tools registered."""
54
+ return initialize_tools()
55
+
56
+
57
+ def list_available_tools() -> List[str]:
58
+ """Get a list of all available tool names."""
59
+ adapter = get_initialized_adapter()
60
+ return sorted(list(adapter._tools.keys()))
61
+
62
+
63
+ if __name__ == "__main__":
64
+ adapter = initialize_tools()
65
+ tools = sorted(list(adapter._tools.keys()))
66
+
67
+ print(f"Initialized {len(tools)} tools")
68
+ print("Available tools:")
69
+ for tool_name in tools:
70
+ print(f" - {tool_name}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 2.33.0
3
+ Version: 3.1.0
4
4
  Summary: A new Python package called janito.
5
5
  Author-email: João Pinto <janito@ikignosis.org>
6
6
  Project-URL: Homepage, https://github.com/ikignosis/janito
@@ -30,7 +30,6 @@ Requires-Dist: black; extra == "dev"
30
30
  Requires-Dist: questionary>=2.0.1; extra == "dev"
31
31
  Requires-Dist: setuptools_scm>=8.0; extra == "dev"
32
32
  Provides-Extra: coder
33
- Requires-Dist: janito-coder; extra == "coder"
34
33
  Dynamic: license-file
35
34
 
36
35
  # nctl
@@ -29,18 +29,18 @@ janito/cli/__init__.py,sha256=xaPDOrWphBbCR63Xpcx_yfpXSJIlCaaICc4j2qpWqrM,194
29
29
  janito/cli/config.py,sha256=HkZ14701HzIqrvaNyDcDhGlVHfpX_uHlLp2rHmhRm_k,872
30
30
  janito/cli/console.py,sha256=gJolqzWL7jEPLxeuH-CwBDRFpXt976KdZOEAB2tdBDs,64
31
31
  janito/cli/main.py,sha256=s5odou0txf8pzTf1ADk2yV7T5m8B6cejJ81e7iu776U,312
32
- janito/cli/main_cli.py,sha256=FXpoybaEbDRlK5-oMOMlcdM7TpVfnOdr6-mOkgJHeTo,16648
33
- janito/cli/prompt_core.py,sha256=F68J4Xl6jZMYFN4oBBYZFj15Jp-HTYoLub4bw2XpNRU,11648
32
+ janito/cli/main_cli.py,sha256=_OOQqeLiqvmYeB_928Av920Gk43rbXecMIOTL6JeT0Y,16674
33
+ janito/cli/prompt_core.py,sha256=RRDhmiZTF1X-sxeGag2ODT9DSgtVDlqVwBlzl2voIIo,12082
34
34
  janito/cli/prompt_handler.py,sha256=SnPTlL64noeAMGlI08VBDD5IDD8jlVMIYA4-fS8zVLg,215
35
35
  janito/cli/prompt_setup.py,sha256=s48gvNfZhKjsEhf4EzL1tKIGm4wDidPMDvlM6TAPYes,2116
36
36
  janito/cli/rich_terminal_reporter.py,sha256=Hitf5U13gncad4GPVAcDMfdSwlfzQzOn9KdeX4TjTWU,6806
37
37
  janito/cli/utils.py,sha256=plCQiDKIf3V8mFhhX5H9-MF2W86i-xRdWf8Xi117Z0w,677
38
38
  janito/cli/verbose_output.py,sha256=wY_B4of5e8Vv7w1fRwOZzNGU2JqbMdcFnGjtEr4hLus,7686
39
- janito/cli/chat_mode/bindings.py,sha256=odjc5_-YW1t2FRhBUNRNoBMoQIg5sMz3ktV7xG0ADFU,975
39
+ janito/cli/chat_mode/bindings.py,sha256=m2KA-0TKMPpmfaYF3XQ9qsAIfDRJ40a1FGVoPs8FaHo,2074
40
40
  janito/cli/chat_mode/chat_entry.py,sha256=RFdPd23jsA2DMHRacpjAdwI_1dFBaWrtnwyQEgb2fHA,475
41
41
  janito/cli/chat_mode/prompt_style.py,sha256=vsqQ9xxmrYjj1pWuVe9CayQf39fo2EIXrkKPkflSVn4,805
42
42
  janito/cli/chat_mode/script_runner.py,sha256=WFTFVWzg_VQrD2Ujj02XWjscfGgHwmjBeRxaEjWw9ps,6505
43
- janito/cli/chat_mode/session.py,sha256=1mCET4V9u1FGEMnr8HJGOc6X8lhTNkhAYlZ3cvIvefw,18540
43
+ janito/cli/chat_mode/session.py,sha256=7RSFM6VccZLEHPaZTmZCpyEUe0JArto9DoHQCiYkUDg,18777
44
44
  janito/cli/chat_mode/toolbar.py,sha256=SzdWAJdcY1g2rTPZCPL6G5X8jO6ZQYjwko2-nw54_nU,3397
45
45
  janito/cli/chat_mode/shell/autocomplete.py,sha256=lE68MaVaodbA2VfUM0_YLqQVLBJAE_BJsd5cMtwuD-g,793
46
46
  janito/cli/chat_mode/shell/commands.bak.zip,sha256=I7GFjXg2ORT5NzFpicH1vQ3kchhduQsZinzqo0xO8wU,74238
@@ -77,11 +77,12 @@ janito/cli/chat_mode/shell/commands/security/allowed_sites.py,sha256=K_izmERZlum
77
77
  janito/cli/chat_mode/shell/session/__init__.py,sha256=uTYE_QpZFEn7v9QE5o1LdulpCWa9vmk0OsefbBGWg_c,37
78
78
  janito/cli/chat_mode/shell/session/history.py,sha256=tYav6GgjAZkvWhlI_rfG6OArNqW6Wn2DTv39Hb20QYc,1262
79
79
  janito/cli/chat_mode/shell/session/manager.py,sha256=MwD9reHsRaly0CyRB-S1JJ0wPKz2g8Xdj2VvlU35Hgc,1001
80
+ janito/cli/cli_commands/check_tools.py,sha256=cSXcF0szeWzeEK7kpg7P2cZW3sv5R1nxgCb3P7bWpyE,7182
80
81
  janito/cli/cli_commands/enable_disable_plugin.py,sha256=IIEg5Gz2aAW_7BKrMQTXSGF0zWBoBdrcQQMjfQ7yay4,2985
81
82
  janito/cli/cli_commands/list_config.py,sha256=oiQEGaGPjwjG-PrOcakpNMbbqISTsBEs7rkGH3ceQsI,1179
82
83
  janito/cli/cli_commands/list_drivers.py,sha256=r2ENykUcvf_9XYp6LHd3RvLXGXyVUA6oe_Pr0dyv92I,5124
83
84
  janito/cli/cli_commands/list_models.py,sha256=QF3Wa7OhNcJFKeBxaw0C_rDfsvJFNb-siz5uorajBvo,1595
84
- janito/cli/cli_commands/list_plugins.py,sha256=Lv-M6EAFiqnj0tl9Bq23s162t--81AIs2EqZxhi81lQ,7996
85
+ janito/cli/cli_commands/list_plugins.py,sha256=s9lZYhy8UANMj7j6c-l-nP4kJIfM_VYsGEyc3hptJ6c,8075
85
86
  janito/cli/cli_commands/list_profiles.py,sha256=O4k6U9iCEeNH3lM-NP_XX_E9W0h__hheLSn23241dkA,3538
86
87
  janito/cli/cli_commands/list_providers.py,sha256=oilrBjNL5mot1nz45XQQY6oeiSxoNvphhQYspNcEJpw,391
87
88
  janito/cli/cli_commands/list_providers_region.py,sha256=qrMj_gtgEMty8UH0P_O5SgWCVJ9ZKxGUp_GdsE4_EH4,2548
@@ -94,7 +95,7 @@ janito/cli/cli_commands/show_config.py,sha256=ammzVEqJQCAdWFRrhI1zjjmzgTCH2l38RE
94
95
  janito/cli/cli_commands/show_system_prompt.py,sha256=WQclY_bmJrHbIBRU1qx1WV4VyooyXVx_XQyX_4Rb1hs,6335
95
96
  janito/cli/core/__init__.py,sha256=YH95fhgY9yBX8RgqX9dSrEkl4exjV0T4rbmJ6xUpG-Y,196
96
97
  janito/cli/core/event_logger.py,sha256=1X6lR0Ax7AgF8HlPWFoY5Ystuu7Bh4ooTo78vXzeGB0,2008
97
- janito/cli/core/getters.py,sha256=opmcSz86J-I95Klsh0c4y6lsYvNakrvRqvuA0o5ARWI,2869
98
+ janito/cli/core/getters.py,sha256=53umV7aab6WrmcCle8WqU2aYnww7a7IiqtM1YZN0YvE,3016
98
99
  janito/cli/core/model_guesser.py,sha256=V7LBkIllSp_tP9-2B1gcl5b4b-La7mrOvE3AZQQm8lk,1716
99
100
  janito/cli/core/runner.py,sha256=gi8xke6re9AoHHNCivV50i0eUAliw8QTUdXyqMkMplM,9044
100
101
  janito/cli/core/setters.py,sha256=zjSUxy6iUzcrmEunFk7dA90KqbMaq2O7LTGP8wn2HxA,5378
@@ -107,9 +108,9 @@ janito/drivers/openai_responses.bak.zip,sha256=E43eDCHGa2tCtdjzj_pMnWDdnsOZzj8BJ
107
108
  janito/drivers/azure_openai/driver.py,sha256=L2rQOl1d0BHaDChHLtZszAeuWNoyYIgwuYuahE1qJps,4152
108
109
  janito/drivers/cerebras/__init__.py,sha256=wXWxPTy4KH5Esw8ml9h-TeApi6XXujNFY2Q4jKVdcAY,26
109
110
  janito/drivers/openai/README.md,sha256=bgPdaYX0pyotCoJ9t3cJbYM-teQ_YM1DAFEKLCMP32Q,666
110
- janito/drivers/openai/driver.py,sha256=NbR_1Btr7QpJjNzJ3CxJa1-Kfw17lImZFU9fyKDLSRo,19567
111
+ janito/drivers/openai/driver.py,sha256=06vkhNXE0CWcmFx5qBO1sGOVapAq0wiG0v5xL6YO8Kk,19627
111
112
  janito/drivers/zai/__init__.py,sha256=rleES3ZJEslJ8M02TdTPyxHKXxA4-e2fDJa6yjuzY8s,22
112
- janito/drivers/zai/driver.py,sha256=uOR7VFEMjd7Dw_zSFO1SN5SgBCIG8b4CEzRMIUXBgUQ,18859
113
+ janito/drivers/zai/driver.py,sha256=NK36IxMJ_rSR04bh96mqDX3dcGPySqd1KL0d194xtfw,18919
113
114
  janito/event_bus/__init__.py,sha256=VG6GOhKMBh0O_92D-zW8a3YitJPKDajGgPiFezTXlNE,77
114
115
  janito/event_bus/bus.py,sha256=LokZbAdwcWhWOyKSp7H3Ism57x4EZhxlRPjl3NE4UKU,2847
115
116
  janito/event_bus/event.py,sha256=MtgcBPD7cvCuubiLIyo-BWcsNSO-941HLk6bScHTJtQ,427
@@ -121,28 +122,141 @@ janito/i18n/messages.py,sha256=fBuwOTFoygyHPkYphm6Y0r1iE8497Z4iryVAmPhMEkg,1851
121
122
  janito/i18n/pt.py,sha256=NlTgpDSftUfFG7FGbs7TK54vQlJVMyaZDHGcWjelwMc,4168
122
123
  janito/llm/README.md,sha256=6GRqCu_a9va5HCB1YqNqbshyWKFyAGlnXugrjom-xj8,1213
123
124
  janito/llm/__init__.py,sha256=dpyVH51qVRCw-PDyAFLAxq0zd4jl5MDcuV6Cri0D-dQ,134
124
- janito/llm/agent.py,sha256=T0JfeMoOudTWsHwWCcaocrHyq9k0TvkL4_YePlXvZfo,21269
125
+ janito/llm/agent.py,sha256=zUmax9uJCvfNMfzDLQjGDdCZMFmmXzaRz2M_cG0HdMo,21914
125
126
  janito/llm/auth.py,sha256=8Dl_orUEPhn2X6XjkO2Nr-j1HFT2YDxk1qJl9hSFI88,2286
126
- janito/llm/auth_utils.py,sha256=7GH7bIScKhVWJW6ugcDrJLcYRamj5dl_l8N1rrvR4Ws,663
127
- janito/llm/driver.py,sha256=stiicPe_MXTuWW4q6MSwK7PCj8UZcA_30pGACu6xYUQ,10039
127
+ janito/llm/auth_utils.py,sha256=mcPWT2p2kGMhvR9QsHqk84utDejPJh3uyjrDOJ0dKYA,1068
128
+ janito/llm/cancellation_manager.py,sha256=lkMFIqXEc1PjU2a96rOIcxcHVRx4WvSr3gk_L9oumi4,2238
129
+ janito/llm/driver.py,sha256=i6CIA4yEaMfsVJ0TIfwwO5S9gHn0IYyDxB9GjVa67og,10392
128
130
  janito/llm/driver_config.py,sha256=OW0ae49EfgKDqaThuDjZBiaN78voNzwiZ6szERMqJos,1406
129
131
  janito/llm/driver_config_builder.py,sha256=BvWGx7vaBR5NyvPY1XNAP3lAgo1uf-T25CSsIo2kkCU,1401
130
132
  janito/llm/driver_input.py,sha256=Zq7IO4KdQPUraeIo6XoOaRy1IdQAyYY15RQw4JU30uA,389
133
+ janito/llm/enter_cancellation.py,sha256=NrySoeXM8M6PO6rMUPd9atW49GjPGF30YsTWIcAuZ7M,3393
131
134
  janito/llm/message_parts.py,sha256=QY_0kDjaxdoErDgKPRPv1dNkkYJuXIBmHWNLiOEKAH4,1365
132
135
  janito/llm/model.py,sha256=EioBkdgn8hJ0iQaKN-0KbXlsrk3YKmwR9IbvoEbdVTE,1159
133
136
  janito/llm/provider.py,sha256=3FbhQPrWBSEoIdIi-5DWIh0DD_CM570EFf1NcuGyGko,7961
134
- janito/plugins/__init__.py,sha256=6tTpUDNJJCRqlGK6RBd40wP_xEowuZZh0FRGeQ5lQQA,400
137
+ janito/plugin_system/__init__.py,sha256=HoTBUooSTEsp_1FaBn-5BmzZX_p_982e4T_fCOeUlD0,290
138
+ janito/plugin_system/base.py,sha256=Z0PSIj7R-hAKOeCSXC2JyBqm4rlsJoZSqkqxLe-juks,4346
139
+ janito/plugin_system/core_loader.py,sha256=LPOJRQwSqjZ8P2G6sh5lN4enA8hc2An-kO4dgr8e0as,4361
140
+ janito/plugin_system/core_loader_fixed.py,sha256=VQsEIucX-NFjAnimzzAtK1o3Y4R9gq_a9IuxSrhJZxU,4586
141
+ janito/plugins/__init__.py,sha256=q-z28oV-0BaagZ43f__qeg13R9oA7kK7XnVEUHNRZbs,910
135
142
  janito/plugins/auto_loader.py,sha256=8DRpPZtAUtP-et4Lzaam93MH4s_sqQXXKI8Ly5-GQf8,2329
136
- janito/plugins/auto_loader_fixed.py,sha256=11pL7J0bX3XOOevQa10_oUtNbH-CXkpKhxOl69Bmzro,2335
137
- janito/plugins/base.py,sha256=4sQdTOogtDgmLWgA3q1Z8h8s-JySRkk9nSAmg0mHoNM,4285
138
- janito/plugins/builtin.py,sha256=rAdOz5cekFfsTfXJd5-2AXW4Nh81JoBMONqj1skiTR8,2985
143
+ janito/plugins/auto_loader_fixed.py,sha256=3JnGDp1enombEHsR8spRDpVrD6tSPdudysWvhyuk5Ec,2304
144
+ janito/plugins/builtin.py,sha256=kbIOVmqucJKyISC5kWcgda_6IhHGA6yWoxUghc1Qtk0,3409
139
145
  janito/plugins/config.py,sha256=ex5f1XsKPEgIO4DgJCohPzMKAQoUdx1OdSVU0FlSr5o,2331
140
- janito/plugins/core_adapter.py,sha256=zOhRMLIsqPb5r-8-pJGucEiWEB1_M5btW6TmsAm-mdE,1877
141
- janito/plugins/core_loader.py,sha256=VcIwuKUaR2bvRZIFEiUHaS8YulTOKrYtvO_VhKHRpGI,3576
142
- janito/plugins/core_loader_fixed.py,sha256=ZjBOU-aQCMnRXxQfFSI5caUR_IqaI0HdqOJSt-G-Lkc,3909
143
- janito/plugins/discovery.py,sha256=JKaoROD4Ci-k8HN1hns130mXq28ZZhQsWfTBSJoOqYc,10106
146
+ janito/plugins/core_adapter.py,sha256=WfFDb_DzG2gqNYlwlAaXVsh4VjIRZ5VPszhQFg0IXZs,1857
147
+ janito/plugins/discovery.py,sha256=IGQAFPzzzZjlpMzPNdChD7ZJrCYN8QmvXPsvLBOSSjY,10120
144
148
  janito/plugins/discovery_core.py,sha256=O5OccNWNyrSXGeeTk5xSG0qbsjNsajclNNCiHljFRpI,1613
145
- janito/plugins/manager.py,sha256=OyqGiZubcPgogs2u_rIV2cs_r4HNPwFZH9U25Z9g5cI,8135
149
+ janito/plugins/example_plugin.py,sha256=1B0PYOSFsb2ya2VCwHr1pMJC9ivUJ7t9TtQkc8lkaGU,3136
150
+ janito/plugins/manager.py,sha256=R1B-2sUD5YFLOTnp4Pfx1wZ-3Hzff--PqaOJHfllc5g,8155
151
+ janito/plugins/core/__init__.py,sha256=74-nOHG97Jo7cSm_sOLwYYhS0maB1kgKdB69-bmi03k,144
152
+ janito/plugins/core/codeanalyzer/__init__.py,sha256=meDla5uyJATX7zYSrmRyjjBFjSK53R_lU3Z6iiy_lxM,1056
153
+ janito/plugins/core/codeanalyzer/tools/get_file_outline/__init__.py,sha256=OKV_BHnoD9h-vkcVoW6AHmsuDjjauHPCKNK0nVFl4sU,37
154
+ janito/plugins/core/codeanalyzer/tools/get_file_outline/core.py,sha256=25k6a8PaDYxAfxnEAvZvOWg2BgUcgKU_BkzJmZKUMEA,4611
155
+ janito/plugins/core/codeanalyzer/tools/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
156
+ janito/plugins/core/codeanalyzer/tools/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
157
+ janito/plugins/core/codeanalyzer/tools/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
158
+ janito/plugins/core/codeanalyzer/tools/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
159
+ janito/plugins/core/codeanalyzer/tools/search_text/__init__.py,sha256=FEYpF5tTtf0fiAyRGIGSn-kV-MJDkhdFIbus16mYW8Y,34
160
+ janito/plugins/core/codeanalyzer/tools/search_text/core.py,sha256=Qoid7FESJGVIsFm5oasgv9vZDy0aSzqeJPBWAF2_Edo,7877
161
+ janito/plugins/core/codeanalyzer/tools/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
162
+ janito/plugins/core/codeanalyzer/tools/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
163
+ janito/plugins/core/codeanalyzer/tools/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
164
+ janito/plugins/core/filemanager/__init__.py,sha256=waUhGQ2OL59Ooes4cQOOlQdBsFQSIffevJkcZq_kaCQ,3241
165
+ janito/plugins/core/filemanager/tools/copy_file.py,sha256=SBJm19Ipe5dqRE1Mxl6JSrn4bNmfObVnDr5b1mcEu6c,3682
166
+ janito/plugins/core/filemanager/tools/create_directory.py,sha256=LxwqQEsnOrEphCIoaMRRx9P9bu0MzidP3Fc5q6letxc,2584
167
+ janito/plugins/core/filemanager/tools/create_file.py,sha256=nZf8iPScO9_nrvmHwXqOcqpLZkLABTh9uLVNddC4PCk,3760
168
+ janito/plugins/core/filemanager/tools/delete_text_in_file.py,sha256=uEeedRxXAR7_CqUc_qhbEdM0OzRi_pgnP-iDjs2Zvjk,5087
169
+ janito/plugins/core/filemanager/tools/find_files.py,sha256=Zbag3aP34vc7ffJh8bOqAwXj3KiZhV--uzTVHtNb-fI,6250
170
+ janito/plugins/core/filemanager/tools/move_file.py,sha256=LMGm8bn3NNyIPJG4vrlO09smXQcgzA09EwoooZxkIA8,4695
171
+ janito/plugins/core/filemanager/tools/read_files.py,sha256=LzlNrQEadYF8dF97Wm8AHde2nuqbMkN5vVskQLhvFdA,2329
172
+ janito/plugins/core/filemanager/tools/remove_directory.py,sha256=DEhHdmwJRl5Yp9eEukIIooMrpATCtXcv5HmaDRn8vH8,1913
173
+ janito/plugins/core/filemanager/tools/remove_file.py,sha256=Imra4jGkBfAd6pnUAmbUsjN0exj2vzZWuNRXq_GOMsI,2093
174
+ janito/plugins/core/filemanager/tools/replace_text_in_file.py,sha256=Y6mbPuoTpsFXKrSp51s0rz7Hhz1WHkG1sY4pZ3RoZsU,10790
175
+ janito/plugins/core/filemanager/tools/view_file.py,sha256=cBKcbwbfH-UMyvQ7PmYTgsshcFmorjWtyH1kaYi7oNY,7379
176
+ janito/plugins/core/filemanager/tools/validate_file_syntax/__init__.py,sha256=P53RHmas4BbHL90cMxH9m-RpMCJI8JquoJb0rpkPVVk,29
177
+ janito/plugins/core/filemanager/tools/validate_file_syntax/core.py,sha256=oYCpk_kyCbseKG_xX5xQjW91bPSpzzl18TPm7mMpwPI,3714
178
+ janito/plugins/core/filemanager/tools/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
179
+ janito/plugins/core/filemanager/tools/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
180
+ janito/plugins/core/filemanager/tools/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
181
+ janito/plugins/core/filemanager/tools/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
182
+ janito/plugins/core/filemanager/tools/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
183
+ janito/plugins/core/filemanager/tools/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
184
+ janito/plugins/core/filemanager/tools/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
185
+ janito/plugins/core/filemanager/tools/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
186
+ janito/plugins/core/filemanager/tools/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
187
+ janito/plugins/core/filemanager/tools/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
188
+ janito/plugins/core/imagedisplay/__init__.py,sha256=9RxTfPaWGIk3Z2Md4Fh1tHmbn_QRXUUtKUBDUzip8xk,458
189
+ janito/plugins/core/imagedisplay/plugin.py,sha256=kq32hgqAKRodyu7Dd-4fO3Lj5NLFW5LFug6kGDa2n2k,1748
190
+ janito/plugins/core/imagedisplay/tools/__init__.py,sha256=z4xyfhiLUYaHBzus1AxaAWDYncPaPBqVtNipy7y9m88,38
191
+ janito/plugins/core/imagedisplay/tools/show_image.py,sha256=NpQTCMfBZ4NM6DpMe0lTJYH4NHkBCruUR11E4SdLCUw,3095
192
+ janito/plugins/core/imagedisplay/tools/show_image_grid.py,sha256=ZsTbDCBr38xYXbbAJBgRKTLuAOw-_C8799LwHA-1yYQ,3078
193
+ janito/plugins/core/system/__init__.py,sha256=tuaUFus8jTljReloESjdYFWXIEfSEYDct59I-4gZAyc,584
194
+ janito/plugins/core/system/tools/run_bash_command.py,sha256=7fABqAeAu7WJwzzwHmT54_m5OSwPMcgpQ74lQhPG7TA,7955
195
+ janito/plugins/core/system/tools/run_powershell_command.py,sha256=uQSJVQe40wSGbesyvZxDmIKJthAbDJFaxXm1dEN3gBs,9313
196
+ janito/plugins/dev/__init__.py,sha256=V7wIaP_LMGBtg6ldz5fmiWf0eL-lSz4vcFgZjKcHAZo,136
197
+ janito/plugins/dev/pythondev/__init__.py,sha256=qAO8Ub1lwBAMcfIt6oX0clTTB2msjIIJNHBRZczhHy8,991
198
+ janito/plugins/dev/pythondev/tools/python_code_run.py,sha256=HdDuiRb7Fd7WC6bFS292XnSI1EYhn9XKlh8Hs_4Cz8E,6981
199
+ janito/plugins/dev/pythondev/tools/python_command_run.py,sha256=BT9emL3PsNGupkENNfUymPECiQEAm9tBhniCaOuatj0,6935
200
+ janito/plugins/dev/pythondev/tools/python_file_run.py,sha256=p0iOoxByCoKqW7QqfxTdHbPbRzEd_KWyZqnzrSb1qLQ,6859
201
+ janito/plugins/dev/visualization/__init__.py,sha256=2zJuePRWKBzuC1_XHg3cguh-JGh4GcvkdENUV3xplz4,547
202
+ janito/plugins/dev/visualization/tools/read_chart.py,sha256=qQebp_MEE_x2AL_pl85uA58A4lbhLQsyGl7wiG_Cjhc,10411
203
+ janito/plugins/tools/__init__.py,sha256=vNqUVWA0guwAYuPgdmiDsjmgibj9siP0e61pfTHZ8-8,271
204
+ janito/plugins/tools/ask_user.py,sha256=7Wgl_9XEPWty3qTG_xcQdwJWypXRorMv3WYM_AZDrBY,4050
205
+ janito/plugins/tools/copy_file.py,sha256=A0LxkN9b4eDBD7Ww_4LO412kldbx-DlrUELUB-27jOk,3672
206
+ janito/plugins/tools/core_tools_plugin.py,sha256=J186ZSA0FjZtAmzBwGYSrE7SFmO8lUEOCZ3apDg4RBA,2685
207
+ janito/plugins/tools/create_directory.py,sha256=f8fccqwRR3xj_IJ7KZacsxBo2k754bLgVyAefC4jsnI,2574
208
+ janito/plugins/tools/create_file.py,sha256=UaQbKUFl8LXMfNq1UlMjgdOo8b2LCC5EsgDVyGwk6fE,6368
209
+ janito/plugins/tools/decorators.py,sha256=BRAjjo4NF4_JxwPPVrrF2wtzsJXuZJkwv_QhZgPFMS4,382
210
+ janito/plugins/tools/delete_text_in_file.py,sha256=nZb-QuJopA3NDfOW3BEsG6Aj9EaMlfpuEYiG9aGp4z4,5070
211
+ janito/plugins/tools/fetch_url.py,sha256=hqtllaqx5rgZ-5wAih6-R1tvX5sIFUHy3DTP68JImQM,18202
212
+ janito/plugins/tools/find_files.py,sha256=S4CLC-WmifyEIO7B1Mk52TAEpy4fIFr9GW9QVQeEE4E,6240
213
+ janito/plugins/tools/move_file.py,sha256=IgBTH2V3z83K3HT0cHWxAag-E5FoUTKS5nJa-_akvvs,4685
214
+ janito/plugins/tools/open_html_in_browser.py,sha256=82ONg0OSo_8puznWbrgaiZSyBK_G-TejYgsDQM8a2KU,2091
215
+ janito/plugins/tools/open_url.py,sha256=X-fdPCTkJ5WBkNDAjV_XVUh3MDEuDGcv-5PbvfC8y68,1542
216
+ janito/plugins/tools/python_code_run.py,sha256=mepw0_VsP-iE1uN6QoxfiRKp6jEkFLWNiGjRwUi0rDk,6971
217
+ janito/plugins/tools/python_command_run.py,sha256=SxmamLHqmv6JX0VtOzM_JM2NXqHi3TM0g0duNtC8Hr4,6925
218
+ janito/plugins/tools/python_file_run.py,sha256=y6oj636Ue0c5ybylDu4l7n-heLhegMGn1CP_B0_hc-M,6849
219
+ janito/plugins/tools/read_chart.py,sha256=8KT-Zzfpdp68QN6Pl8enDLPrKRBY2lhcKsJ8scS6i3o,10401
220
+ janito/plugins/tools/read_files.py,sha256=7RVj4qescT__VHe1k_VdnpHKHY5YeG0fqPiNIopd3Is,2319
221
+ janito/plugins/tools/remove_directory.py,sha256=jmY0pSrOJVQqR-_P7OuZijovAKkNB5cDk8BAAKVvvLI,1903
222
+ janito/plugins/tools/remove_file.py,sha256=tWjCx96O2cFW3XIpx8U5W2JUzbfsoXY5zn8k3jr4AIA,2083
223
+ janito/plugins/tools/replace_text_in_file.py,sha256=F7RvMdA0EM9xDtM7lB_0DrMjDeYa8exn73_15SQ0iug,10949
224
+ janito/plugins/tools/run_bash_command.py,sha256=r-zjfDmw7z2H08cNqKHxXov1_KvfmjPeL5IEg4ZDTxQ,7945
225
+ janito/plugins/tools/run_powershell_command.py,sha256=3CWvSr9IkCX6yJ3P_cP80QYUZg30m5TREAPOpzzqYrM,9303
226
+ janito/plugins/tools/show_image.py,sha256=v-vEP5LG2-YjrcoWTfgXQ8jSlXfslXjWVV6Uaq7N4IA,3052
227
+ janito/plugins/tools/show_image_grid.py,sha256=eS9PGcGrIqazX1fBSu39N3RaQlFoeIdVc75z2ruhWeI,3118
228
+ janito/plugins/tools/view_file.py,sha256=SlTfdKyEnaqhDnPc7gpBC51JWIkdc3WvYsTq3amEN4g,7369
229
+ janito/plugins/tools/get_file_outline/__init__.py,sha256=po2B4UWf4qvw3yisWkiW1VeeFl1SGvm4xhs1kNbNyCc,110
230
+ janito/plugins/tools/get_file_outline/core.py,sha256=KHZwnRdgRzyEJe0IjKzjxs8TQBJdU7xYTDWnqQgZVhM,4590
231
+ janito/plugins/tools/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
232
+ janito/plugins/tools/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
233
+ janito/plugins/tools/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
234
+ janito/plugins/tools/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
235
+ janito/plugins/tools/search_text/__init__.py,sha256=pZo-65KTw9y0oFBCBXEyxACbS10QvAXa21icXuRyh34,101
236
+ janito/plugins/tools/search_text/core.py,sha256=bjXWCkGEkCnX-q60N3prU_EYiN5i8Sw_7ArTvq18pco,7856
237
+ janito/plugins/tools/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
238
+ janito/plugins/tools/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
239
+ janito/plugins/tools/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
240
+ janito/plugins/tools/validate_file_syntax/__init__.py,sha256=1Fp7sHG_ndTJi9xbUzpFSp9TSW-DpwN2n_psZM8mXmw,128
241
+ janito/plugins/tools/validate_file_syntax/core.py,sha256=E8g67nRv5x_PomKm8IlUdQlYyjC3l3IdSTBlODKPn6Y,3705
242
+ janito/plugins/tools/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
243
+ janito/plugins/tools/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
244
+ janito/plugins/tools/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
245
+ janito/plugins/tools/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
246
+ janito/plugins/tools/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
247
+ janito/plugins/tools/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
248
+ janito/plugins/tools/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
249
+ janito/plugins/tools/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
250
+ janito/plugins/tools/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
251
+ janito/plugins/tools/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
252
+ janito/plugins/ui/__init__.py,sha256=V3bXCQO9YyWc6oiPKyXRP6YqJT_LT9330b3uukSzJ_8,122
253
+ janito/plugins/ui/userinterface/__init__.py,sha256=kmno20y5PuZvv_eqDWPKEcN6Zo_vlyt-WZv-4A5e8UI,352
254
+ janito/plugins/ui/userinterface/tools/ask_user.py,sha256=4xY8SUndw_OYAPzeIRxugmihxxn7Y-b2v9xYT_LGdkY,3941
255
+ janito/plugins/web/__init__.py,sha256=gVPBgz06iQgBUlqHJt3TpWQErkbH_Cx_6BX6XVSYtcY,118
256
+ janito/plugins/web/webtools/__init__.py,sha256=vGFtbZvV2DnooPmw4B8hHd0UgpVfNugLs8uK0sI9N2w,847
257
+ janito/plugins/web/webtools/tools/fetch_url.py,sha256=VjB89FjLNrqLmOVL6wm1RHyixB3n-RViC0DJjW33iRM,17804
258
+ janito/plugins/web/webtools/tools/open_html_in_browser.py,sha256=XqICIwVx5vEE77gHkaNAC-bAeEEy0DBmDksATiL-sRY,2101
259
+ janito/plugins/web/webtools/tools/open_url.py,sha256=V3Sv7iLynUreLjVl5-bl-XFH_LzpTeBrS8-cvzp_7rM,1552
146
260
  janito/providers/__init__.py,sha256=EvOFeiqucAY9tgCosJ81p0QA6wQwMT1cR3EeIGrhSQQ,528
147
261
  janito/providers/dashscope.bak.zip,sha256=BwXxRmZreEivvRtmqbr5BR62IFVlNjAf4y6DrF2BVJo,5998
148
262
  janito/providers/registry.py,sha256=Ygwv9eVrTXOKhv0EKxSWQXO5WMHvajWE2Q_Lc3p7dKo,730
@@ -186,10 +300,12 @@ janito/regions/geo_utils.py,sha256=nLJ2x0tx1xMNI0_cMEiji-X8denynsaPYmXR9gGg8uk,5
186
300
  janito/regions/provider_regions.py,sha256=QJdbsdgjg-WcTRqPLGtm3pHJAm2o0-Y9MgE_vNzENEk,4619
187
301
  janito/tools/DOCSTRING_STANDARD.txt,sha256=VLPwNgjxRVD_xZSSVvUZ4H-4bBwM-VKh_RyfzYQsYSs,1735
188
302
  janito/tools/README.md,sha256=5HkLpF5k4PENJER7SlDPRXj0yo9mpHvAHW4uuzhq4ak,115
189
- janito/tools/__init__.py,sha256=W1B39PztC2UF7PS2WyLH6el32MFOETMlN1-LurOROCg,1171
303
+ janito/tools/__init__.py,sha256=PoMIw_JgsEGP5SO77mqsZFl0Z-p2W2WnyHaaAKSnirk,1961
190
304
  janito/tools/base.py,sha256=R38A9xWYh3JRYZMDSom2d1taNDy9J7HpLbZo9X2wH_o,316
305
+ janito/tools/cli_initializer.py,sha256=KJbUL6_iAsaeBZl_AVrdtczSZRQBJ9RPZufHJVKwAtU,2632
191
306
  janito/tools/disabled_tools.py,sha256=Tx__16wtMWZ9z34cYLdH1gukwot5MCL-9kLjd5MPX6Y,2110
192
- janito/tools/function_adapter.py,sha256=A_-5pA5Y3v0TAYMA-vq3A-Cawg75kH5XWcUEkNHSOoI,2267
307
+ janito/tools/function_adapter.py,sha256=kjU15jy2gLmKw__BRFe99lRrLCXoHdcgVMFf2W4LEw0,4870
308
+ janito/tools/initialize.py,sha256=BSwzCPCmis2n4q5W3tWBEr4MgVS4tAwBjfKoNM4CefI,2002
193
309
  janito/tools/inspect_registry.py,sha256=Jo7PrMPRKLuR-j_mBAk9PBcTzeJf1eQrS1ChGofgQk0,538
194
310
  janito/tools/loop_protection.py,sha256=WQ2Cqt459vXvrO0T1EqkEHynHlRkPzfaC83RSmXzjkM,4718
195
311
  janito/tools/loop_protection_decorator.py,sha256=R1j2ouscKbVcDm2wlxRZ6zQuKExgj633ijeDq4j0oO0,6457
@@ -206,58 +322,12 @@ janito/tools/tool_utils.py,sha256=alPm9DvtXSw_zPRKvP5GjbebPRf_nfvmWk2TNlL5Cws,12
206
322
  janito/tools/tools_adapter.py,sha256=F1Wkji222dY53HMaZWf3vqVas1Bimm3UXERKvxF54Ew,21687
207
323
  janito/tools/tools_schema.py,sha256=rGrKrmpPNR07VXHAJ_haGBRRO-YGLOF51BlYRep9AAQ,4415
208
324
  janito/tools/url_whitelist.py,sha256=0CPLkHTp5HgnwgjxwgXnJmwPeZQ30q4j3YjW59hiUUE,4295
209
- janito/tools/adapters/__init__.py,sha256=XKixOKtUJs1R-rGwGDXSLVLg5-Kp090gvWbsseWT4LI,92
210
- janito/tools/adapters/local/__init__.py,sha256=I6LtLnDTyApZrSlKcihSQqZv3gADVX781Mcj46LH7ac,2362
325
+ janito/tools/adapters/__init__.py,sha256=H25uYM2ETMLKpKPPEPAu9-AFjxkKfSyfx3pnoXSQlVA,255
326
+ janito/tools/adapters/local/__init__.py,sha256=1DVnka4iEQp8Xrs7rJVVx45fPpuVahjTFmuJhv-gN8s,249
211
327
  janito/tools/adapters/local/adapter.py,sha256=u4nLHTaYdwZXMi1J8lsKvlG6rOmdq9xjey_3zeyCG4k,8707
212
- janito/tools/adapters/local/ask_user.py,sha256=-shjMRKrRe7HNHM2w_6YAl7eEgl8QXaIV6LKrUDEBxU,4060
213
- janito/tools/adapters/local/copy_file.py,sha256=SBJm19Ipe5dqRE1Mxl6JSrn4bNmfObVnDr5b1mcEu6c,3682
214
- janito/tools/adapters/local/create_directory.py,sha256=LxwqQEsnOrEphCIoaMRRx9P9bu0MzidP3Fc5q6letxc,2584
215
- janito/tools/adapters/local/create_file.py,sha256=fLTVnMpDnHzzIVK3nS0DtawBT-I18Is-qa0Hg8y6TXY,6385
216
- janito/tools/adapters/local/delete_text_in_file.py,sha256=uEeedRxXAR7_CqUc_qhbEdM0OzRi_pgnP-iDjs2Zvjk,5087
217
- janito/tools/adapters/local/fetch_url.py,sha256=QjoOZj06PjsU8uFjJ6O8Fy-WUvS4GhSaHAJQx2rAzoE,18212
218
- janito/tools/adapters/local/find_files.py,sha256=Zbag3aP34vc7ffJh8bOqAwXj3KiZhV--uzTVHtNb-fI,6250
219
- janito/tools/adapters/local/move_file.py,sha256=LMGm8bn3NNyIPJG4vrlO09smXQcgzA09EwoooZxkIA8,4695
220
- janito/tools/adapters/local/open_html_in_browser.py,sha256=XqICIwVx5vEE77gHkaNAC-bAeEEy0DBmDksATiL-sRY,2101
221
- janito/tools/adapters/local/open_url.py,sha256=V3Sv7iLynUreLjVl5-bl-XFH_LzpTeBrS8-cvzp_7rM,1552
222
- janito/tools/adapters/local/python_code_run.py,sha256=HdDuiRb7Fd7WC6bFS292XnSI1EYhn9XKlh8Hs_4Cz8E,6981
223
- janito/tools/adapters/local/python_command_run.py,sha256=BT9emL3PsNGupkENNfUymPECiQEAm9tBhniCaOuatj0,6935
224
- janito/tools/adapters/local/python_file_run.py,sha256=p0iOoxByCoKqW7QqfxTdHbPbRzEd_KWyZqnzrSb1qLQ,6859
225
- janito/tools/adapters/local/read_chart.py,sha256=qQebp_MEE_x2AL_pl85uA58A4lbhLQsyGl7wiG_Cjhc,10411
226
- janito/tools/adapters/local/read_files.py,sha256=LzlNrQEadYF8dF97Wm8AHde2nuqbMkN5vVskQLhvFdA,2329
227
- janito/tools/adapters/local/remove_directory.py,sha256=DEhHdmwJRl5Yp9eEukIIooMrpATCtXcv5HmaDRn8vH8,1913
228
- janito/tools/adapters/local/remove_file.py,sha256=Imra4jGkBfAd6pnUAmbUsjN0exj2vzZWuNRXq_GOMsI,2093
229
- janito/tools/adapters/local/replace_text_in_file.py,sha256=zJIDecviF2YRpWxbvhtka4Iaje-QYhcaqQX1PxWolzE,10966
230
- janito/tools/adapters/local/run_bash_command.py,sha256=7fABqAeAu7WJwzzwHmT54_m5OSwPMcgpQ74lQhPG7TA,7955
231
- janito/tools/adapters/local/run_powershell_command.py,sha256=uQSJVQe40wSGbesyvZxDmIKJthAbDJFaxXm1dEN3gBs,9313
232
- janito/tools/adapters/local/show_image.py,sha256=OkdiIkaRhjqPMSF5QFcqjLK-fN1oljo_YQM9TH2ZK_A,2932
233
- janito/tools/adapters/local/show_image_grid.py,sha256=w_U04_K0qmCcX8ac6KUcs-UsnfCb-qsXT3-kasr17dM,3000
234
- janito/tools/adapters/local/view_file.py,sha256=cBKcbwbfH-UMyvQ7PmYTgsshcFmorjWtyH1kaYi7oNY,7379
235
- janito/tools/adapters/local/get_file_outline/__init__.py,sha256=OKV_BHnoD9h-vkcVoW6AHmsuDjjauHPCKNK0nVFl4sU,37
236
- janito/tools/adapters/local/get_file_outline/core.py,sha256=25k6a8PaDYxAfxnEAvZvOWg2BgUcgKU_BkzJmZKUMEA,4611
237
- janito/tools/adapters/local/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
238
- janito/tools/adapters/local/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
239
- janito/tools/adapters/local/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
240
- janito/tools/adapters/local/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
241
- janito/tools/adapters/local/search_text/__init__.py,sha256=FEYpF5tTtf0fiAyRGIGSn-kV-MJDkhdFIbus16mYW8Y,34
242
- janito/tools/adapters/local/search_text/core.py,sha256=Qoid7FESJGVIsFm5oasgv9vZDy0aSzqeJPBWAF2_Edo,7877
243
- janito/tools/adapters/local/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
244
- janito/tools/adapters/local/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
245
- janito/tools/adapters/local/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
246
- janito/tools/adapters/local/validate_file_syntax/__init__.py,sha256=P53RHmas4BbHL90cMxH9m-RpMCJI8JquoJb0rpkPVVk,29
247
- janito/tools/adapters/local/validate_file_syntax/core.py,sha256=oYCpk_kyCbseKG_xX5xQjW91bPSpzzl18TPm7mMpwPI,3714
248
- janito/tools/adapters/local/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
249
- janito/tools/adapters/local/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
250
- janito/tools/adapters/local/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
251
- janito/tools/adapters/local/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
252
- janito/tools/adapters/local/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
253
- janito/tools/adapters/local/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
254
- janito/tools/adapters/local/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
255
- janito/tools/adapters/local/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
256
- janito/tools/adapters/local/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
257
- janito/tools/adapters/local/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
258
- janito-2.33.0.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
259
- janito-2.33.0.dist-info/METADATA,sha256=VvNpRDQ9_KEcxzU3YvUh3dXFr6ja6XSEaxpBJ_ydEIU,2313
260
- janito-2.33.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
261
- janito-2.33.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
262
- janito-2.33.0.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
263
- janito-2.33.0.dist-info/RECORD,,
328
+ janito-3.1.0.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
329
+ janito-3.1.0.dist-info/METADATA,sha256=lbkmz3Msw06EXZzWwc_Ur9At-zlyvSVNGqRv8tkp0eI,2265
330
+ janito-3.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
331
+ janito-3.1.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
332
+ janito-3.1.0.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
333
+ janito-3.1.0.dist-info/RECORD,,