janito 3.5.1__py3-none-any.whl → 3.6.1__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.
- janito/README.md +4 -4
- janito/cli/cli_commands/list_tools.py +6 -1
- janito/cli/main_cli.py +1 -1
- janito/cli/rich_terminal_reporter.py +2 -2
- janito/data/blocked.txt +96 -0
- janito/docs/GETTING_STARTED.md +8 -9
- janito/plugins/tools/__init__.py +34 -5
- janito/plugins/tools/core/__init__.py +65 -0
- janito/plugins/tools/{ask_user.py → core/ask_user.py} +1 -1
- janito/plugins/tools/{copy_file.py → core/copy_file.py} +1 -1
- janito/plugins/tools/{create_directory.py → core/create_directory.py} +1 -1
- janito/plugins/tools/{create_file.py → core/create_file.py} +2 -2
- janito/plugins/tools/{delete_text_in_file.py → core/delete_text_in_file.py} +2 -2
- janito/plugins/tools/{fetch_url.py → core/fetch_url.py} +18 -21
- janito/plugins/tools/{find_files.py → core/find_files.py} +1 -1
- janito/plugins/tools/{get_file_outline → core/get_file_outline}/core.py +1 -1
- janito/plugins/tools/{move_file.py → core/move_file.py} +1 -1
- janito/plugins/tools/{open_html_in_browser.py → core/open_html_in_browser.py} +1 -1
- janito/plugins/tools/{open_url.py → core/open_url.py} +1 -1
- janito/plugins/tools/{python_code_run.py → core/python_code_run.py} +1 -1
- janito/plugins/tools/{python_command_run.py → core/python_command_run.py} +1 -1
- janito/plugins/tools/{python_file_run.py → core/python_file_run.py} +1 -1
- janito/plugins/tools/{read_chart.py → core/read_chart.py} +1 -1
- janito/plugins/tools/{read_files.py → core/read_files.py} +1 -1
- janito/plugins/tools/{remove_directory.py → core/remove_directory.py} +1 -1
- janito/plugins/tools/{remove_file.py → core/remove_file.py} +1 -1
- janito/plugins/tools/{replace_text_in_file.py → core/replace_text_in_file.py} +2 -2
- janito/plugins/tools/{run_bash_command.py → core/run_bash_command.py} +1 -1
- janito/plugins/tools/{run_powershell_command.py → core/run_powershell_command.py} +1 -1
- janito/plugins/tools/{search_text → core/search_text}/core.py +1 -1
- janito/plugins/tools/{show_image.py → core/show_image.py} +1 -1
- janito/plugins/tools/{show_image_grid.py → core/show_image_grid.py} +1 -1
- janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/core.py +1 -1
- janito/plugins/tools/{view_file.py → core/view_file.py} +1 -1
- janito/plugins/web/webtools/__init__.py +1 -11
- janito/providers/moonshot/model_info.py +15 -4
- janito/providers/moonshot/provider.py +1 -1
- janito/tools/__init__.py +14 -4
- janito/tools/adapters/local/copy_file.py +0 -0
- janito/tools/adapters/local/create_file.py +0 -0
- janito/tools/adapters/local/move_file.py +0 -0
- janito/tools/adapters/local/remove_file.py +0 -0
- janito/tools/adapters/local/view_file.py +0 -0
- janito/tools/blocked_sites.py +74 -0
- {janito-3.5.1.dist-info → janito-3.6.1.dist-info}/METADATA +7 -8
- {janito-3.5.1.dist-info → janito-3.6.1.dist-info}/RECORD +71 -65
- janito/plugins/tools/core_tools_plugin.py +0 -87
- janito/plugins/web/webtools/tools/fetch_url.py +0 -458
- /janito/plugins/tools/{decorators.py → core/decorators.py} +0 -0
- /janito/plugins/tools/{get_file_outline → core/get_file_outline}/__init__.py +0 -0
- /janito/plugins/tools/{get_file_outline → core/get_file_outline}/java_outline.py +0 -0
- /janito/plugins/tools/{get_file_outline → core/get_file_outline}/markdown_outline.py +0 -0
- /janito/plugins/tools/{get_file_outline → core/get_file_outline}/python_outline.py +0 -0
- /janito/plugins/tools/{get_file_outline → core/get_file_outline}/search_outline.py +0 -0
- /janito/plugins/tools/{search_text → core/search_text}/__init__.py +0 -0
- /janito/plugins/tools/{search_text → core/search_text}/match_lines.py +0 -0
- /janito/plugins/tools/{search_text → core/search_text}/pattern_utils.py +0 -0
- /janito/plugins/tools/{search_text → core/search_text}/traverse_directory.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/__init__.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/css_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/html_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/jinja2_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/js_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/json_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/markdown_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/ps1_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/python_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/xml_validator.py +0 -0
- /janito/plugins/tools/{validate_file_syntax → core/validate_file_syntax}/yaml_validator.py +0 -0
- {janito-3.5.1.dist-info → janito-3.6.1.dist-info}/WHEEL +0 -0
- {janito-3.5.1.dist-info → janito-3.6.1.dist-info}/entry_points.txt +0 -0
- {janito-3.5.1.dist-info → janito-3.6.1.dist-info}/licenses/LICENSE +0 -0
- {janito-3.5.1.dist-info → janito-3.6.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
from janito.tools.tool_base import ToolBase, ToolPermissions
|
2
2
|
from janito.report_events import ReportAction
|
3
|
-
from
|
3
|
+
from .decorators import register_core_tool
|
4
4
|
from janito.tools.tool_utils import pluralize
|
5
5
|
from janito.i18n import tr
|
6
6
|
from janito.tools.loop_protection_decorator import protect_against_loops
|
@@ -7,16 +7,6 @@ Web scraping, browsing, and URL operations.
|
|
7
7
|
from typing import Optional, Dict, List
|
8
8
|
|
9
9
|
|
10
|
-
def fetch_url(
|
11
|
-
url: str,
|
12
|
-
search_strings: Optional[List[str]] = None,
|
13
|
-
max_length: int = 5000,
|
14
|
-
timeout: int = 10,
|
15
|
-
) -> str:
|
16
|
-
"""Download web pages with advanced options"""
|
17
|
-
return f"fetch_url(url='{url}', search={len(search_strings or [])} terms)"
|
18
|
-
|
19
|
-
|
20
10
|
def open_url(url: str) -> str:
|
21
11
|
"""Open URLs in default browser"""
|
22
12
|
return f"open_url(url='{url}')"
|
@@ -30,4 +20,4 @@ def open_html_in_browser(path: str) -> str:
|
|
30
20
|
# Plugin metadata
|
31
21
|
__plugin_name__ = "web.webtools"
|
32
22
|
__plugin_description__ = "Web scraping, browsing, and URL operations"
|
33
|
-
__plugin_tools__ = [
|
23
|
+
__plugin_tools__ = [open_url, open_html_in_browser]
|
@@ -1,8 +1,19 @@
|
|
1
1
|
from janito.llm.model import LLMModelInfo
|
2
2
|
|
3
3
|
MOONSHOT_MODEL_SPECS = {
|
4
|
-
"kimi-k2-
|
5
|
-
name="kimi-k2-
|
4
|
+
"kimi-k2-0905": LLMModelInfo(
|
5
|
+
name="kimi-k2-0905",
|
6
|
+
context=256000,
|
7
|
+
max_input=200000,
|
8
|
+
max_cot="N/A",
|
9
|
+
max_response=8192,
|
10
|
+
thinking_supported=False,
|
11
|
+
default_temp=0.2,
|
12
|
+
open="moonshot",
|
13
|
+
driver="OpenAIModelDriver",
|
14
|
+
),
|
15
|
+
"kimi-k2-turbo-preview": LLMModelInfo(
|
16
|
+
name="kimi-k2-turbo-preview",
|
6
17
|
context=128000,
|
7
18
|
max_input=100000,
|
8
19
|
max_cot="N/A",
|
@@ -12,8 +23,8 @@ MOONSHOT_MODEL_SPECS = {
|
|
12
23
|
open="moonshot",
|
13
24
|
driver="OpenAIModelDriver",
|
14
25
|
),
|
15
|
-
"kimi-k2-
|
16
|
-
name="kimi-k2-
|
26
|
+
"kimi-k2-0711-preview": LLMModelInfo(
|
27
|
+
name="kimi-k2-0711-preview",
|
17
28
|
context=128000,
|
18
29
|
max_input=100000,
|
19
30
|
max_cot="N/A",
|
@@ -12,7 +12,7 @@ class MoonshotProvider(LLMProvider):
|
|
12
12
|
NAME = "moonshot"
|
13
13
|
MAINTAINER = "João Pinto <janito@ikignosis.org>"
|
14
14
|
MODEL_SPECS = MOONSHOT_MODEL_SPECS
|
15
|
-
DEFAULT_MODEL = "kimi-k2-
|
15
|
+
DEFAULT_MODEL = "kimi-k2-0905"
|
16
16
|
|
17
17
|
def __init__(
|
18
18
|
self, auth_manager: LLMAuthManager = None, config: LLMDriverConfig = None
|
janito/tools/__init__.py
CHANGED
@@ -33,14 +33,24 @@ def get_local_tools_adapter(workdir=None, allowed_permissions=None):
|
|
33
33
|
local_tools_adapter = None
|
34
34
|
|
35
35
|
|
36
|
+
def _initialize_global_adapter():
|
37
|
+
"""Initialize the global tools adapter."""
|
38
|
+
global local_tools_adapter
|
39
|
+
if local_tools_adapter is None:
|
40
|
+
from janito.tools.cli_initializer import get_cli_tools_adapter
|
41
|
+
# Try CLI initialization first
|
42
|
+
local_tools_adapter = get_cli_tools_adapter()
|
43
|
+
if local_tools_adapter is None:
|
44
|
+
# Fallback to regular initialization
|
45
|
+
from janito.tools.initialize import initialize_tools
|
46
|
+
local_tools_adapter = initialize_tools(LocalToolsAdapter())
|
47
|
+
|
48
|
+
|
36
49
|
def get_local_tools_adapter(workdir=None, allowed_permissions=None):
|
37
50
|
"""Get the global tools adapter, initializing on first use."""
|
38
51
|
global local_tools_adapter
|
39
52
|
if local_tools_adapter is None:
|
40
|
-
|
41
|
-
|
42
|
-
adapter = LocalToolsAdapter(workdir=workdir)
|
43
|
-
local_tools_adapter = initialize_tools(adapter)
|
53
|
+
_initialize_global_adapter()
|
44
54
|
|
45
55
|
# Handle workdir if provided
|
46
56
|
if workdir is not None and local_tools_adapter is not None:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"""Blocked sites management for fetch_url tool to prevent access to known problematic sites."""
|
2
|
+
|
3
|
+
from pathlib import Path
|
4
|
+
from typing import Set
|
5
|
+
from urllib.parse import urlparse
|
6
|
+
|
7
|
+
|
8
|
+
class BlockedSitesManager:
|
9
|
+
"""Manages blocked sites for the fetch_url tool using the local blocked.txt file."""
|
10
|
+
|
11
|
+
def __init__(self):
|
12
|
+
# Use package data directory for blocked.txt
|
13
|
+
import janito
|
14
|
+
package_dir = Path(janito.__file__).parent
|
15
|
+
self.blocked_file_path = package_dir / "data" / "blocked.txt"
|
16
|
+
self._blocked_sites = self._load_blocked_sites()
|
17
|
+
|
18
|
+
def _load_blocked_sites(self) -> Set[str]:
|
19
|
+
"""Load blocked sites from the blocked.txt file."""
|
20
|
+
blocked = set()
|
21
|
+
|
22
|
+
if self.blocked_file_path.exists():
|
23
|
+
try:
|
24
|
+
with open(self.blocked_file_path, "r", encoding="utf-8") as f:
|
25
|
+
for line in f:
|
26
|
+
line = line.strip()
|
27
|
+
if line and not line.startswith("#"):
|
28
|
+
# Extract domain from URL if it's a full URL
|
29
|
+
if line.startswith("http://") or line.startswith("https://"):
|
30
|
+
parsed = urlparse(line)
|
31
|
+
domain = parsed.netloc
|
32
|
+
if domain:
|
33
|
+
blocked.add(domain.lower())
|
34
|
+
else:
|
35
|
+
# Assume it's already a domain
|
36
|
+
blocked.add(line.lower())
|
37
|
+
except IOError:
|
38
|
+
pass
|
39
|
+
|
40
|
+
return blocked
|
41
|
+
|
42
|
+
def is_url_blocked(self, url: str) -> bool:
|
43
|
+
"""Check if a URL is blocked."""
|
44
|
+
if not self._blocked_sites:
|
45
|
+
return False
|
46
|
+
|
47
|
+
try:
|
48
|
+
parsed = urlparse(url)
|
49
|
+
domain = parsed.netloc.lower()
|
50
|
+
|
51
|
+
# Check exact matches and subdomain matches
|
52
|
+
for blocked in self._blocked_sites:
|
53
|
+
if domain == blocked or domain.endswith("." + blocked):
|
54
|
+
return True
|
55
|
+
|
56
|
+
return False
|
57
|
+
except Exception:
|
58
|
+
return False # Invalid URLs are not blocked by default
|
59
|
+
|
60
|
+
def get_blocked_sites(self) -> list[str]:
|
61
|
+
"""Get the list of blocked sites."""
|
62
|
+
return sorted(self._blocked_sites)
|
63
|
+
|
64
|
+
|
65
|
+
# Global singleton
|
66
|
+
_blocked_sites_manager = None
|
67
|
+
|
68
|
+
|
69
|
+
def get_blocked_sites_manager() -> BlockedSitesManager:
|
70
|
+
"""Get the global blocked sites manager instance."""
|
71
|
+
global _blocked_sites_manager
|
72
|
+
if _blocked_sites_manager is None:
|
73
|
+
_blocked_sites_manager = BlockedSitesManager()
|
74
|
+
return _blocked_sites_manager
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: janito
|
3
|
-
Version: 3.
|
3
|
+
Version: 3.6.1
|
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
|
@@ -29,7 +29,6 @@ Requires-Dist: codespell==2.4.1; extra == "dev"
|
|
29
29
|
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
|
-
Provides-Extra: coder
|
33
32
|
Dynamic: license-file
|
34
33
|
|
35
34
|
# Janito CLI
|
@@ -46,7 +45,7 @@ pip install janito
|
|
46
45
|
|
47
46
|
### First-Time Setup
|
48
47
|
|
49
|
-
1. **Get your API key**: Sign up at [Moonshot AI](https://platform.moonshot.
|
48
|
+
1. **Get your API key**: Sign up at [Moonshot AI](https://platform.moonshot.ai) and get your API key
|
50
49
|
2. **Set your API key**:
|
51
50
|
```bash
|
52
51
|
janito --set-api-key YOUR_MOONSHOT_API_KEY -p moonshot
|
@@ -60,7 +59,7 @@ pip install janito
|
|
60
59
|
janito "Create a Python script that reads a CSV file"
|
61
60
|
|
62
61
|
# Using a specific Moonshot model
|
63
|
-
janito -m kimi-
|
62
|
+
janito -m kimi-k2-0905 "Explain quantum computing"
|
64
63
|
```
|
65
64
|
|
66
65
|
**Other Providers**
|
@@ -106,16 +105,16 @@ In chat mode, you can:
|
|
106
105
|
Set default provider and model:
|
107
106
|
```bash
|
108
107
|
janito --set provider=moonshot
|
109
|
-
janito --set model=kimi-
|
108
|
+
janito --set model=kimi-k2-0905
|
110
109
|
```
|
111
110
|
|
112
111
|
## Providers
|
113
112
|
|
114
113
|
### Moonshot (Recommended)
|
115
114
|
|
116
|
-
- **Models**: kimi-
|
115
|
+
- **Models**: kimi-k2-0905, kimi-k2-turbo-preview, kimi-k2-0711-preview
|
117
116
|
- **Strengths**: Excellent Chinese/English support, competitive pricing, fast responses
|
118
|
-
- **Setup**: Get API key from [Moonshot AI Platform](https://platform.moonshot.
|
117
|
+
- **Setup**: Get API key from [Moonshot AI Platform](https://platform.moonshot.ai)
|
119
118
|
|
120
119
|
### OpenAI
|
121
120
|
|
@@ -167,7 +166,7 @@ You can also configure via environment variables:
|
|
167
166
|
```bash
|
168
167
|
export MOONSHOT_API_KEY=your_key_here
|
169
168
|
export JANITO_PROVIDER=moonshot
|
170
|
-
export JANITO_MODEL=kimi-
|
169
|
+
export JANITO_MODEL=kimi-k2-0905
|
171
170
|
```
|
172
171
|
|
173
172
|
**OpenAI:**
|
@@ -1,4 +1,4 @@
|
|
1
|
-
janito/README.md,sha256=
|
1
|
+
janito/README.md,sha256=F66-ZwvrjEkv7QELHKNeGh85vCc1h800oBXpUhpNbG4,4950
|
2
2
|
janito/__init__.py,sha256=a0pFui3A_AfWJiUfg93yE-Vf4868bqG3y9yg2fkTIuY,244
|
3
3
|
janito/__main__.py,sha256=lPQ8kAyYfyeS1KopmJ8EVY5g1YswlIqCS615mM_B_rM,70
|
4
4
|
janito/_version.py,sha256=PtAVr2K9fOS5sv6aXzmcb7UaR5NLGMFOofL7Ndjh75o,2344
|
@@ -30,11 +30,11 @@ janito/cli/__init__.py,sha256=xaPDOrWphBbCR63Xpcx_yfpXSJIlCaaICc4j2qpWqrM,194
|
|
30
30
|
janito/cli/config.py,sha256=HkZ14701HzIqrvaNyDcDhGlVHfpX_uHlLp2rHmhRm_k,872
|
31
31
|
janito/cli/console.py,sha256=gJolqzWL7jEPLxeuH-CwBDRFpXt976KdZOEAB2tdBDs,64
|
32
32
|
janito/cli/main.py,sha256=s5odou0txf8pzTf1ADk2yV7T5m8B6cejJ81e7iu776U,312
|
33
|
-
janito/cli/main_cli.py,sha256=
|
33
|
+
janito/cli/main_cli.py,sha256=pRAID5NyKjKClVIhXhDVPs36F2_lTnfFbK2DmG1OLdQ,16676
|
34
34
|
janito/cli/prompt_core.py,sha256=AiSoZGcyuf1sl8hKQ1kExcg-kMvO4XPN2PFHmcPGPBI,13299
|
35
35
|
janito/cli/prompt_handler.py,sha256=SnPTlL64noeAMGlI08VBDD5IDD8jlVMIYA4-fS8zVLg,215
|
36
36
|
janito/cli/prompt_setup.py,sha256=s48gvNfZhKjsEhf4EzL1tKIGm4wDidPMDvlM6TAPYes,2116
|
37
|
-
janito/cli/rich_terminal_reporter.py,sha256=
|
37
|
+
janito/cli/rich_terminal_reporter.py,sha256=EWVUt6A8Mx1UnzFqnI4EGlHHHc6VpXIk8p7wC9nI3-k,6822
|
38
38
|
janito/cli/utils.py,sha256=plCQiDKIf3V8mFhhX5H9-MF2W86i-xRdWf8Xi117Z0w,677
|
39
39
|
janito/cli/verbose_output.py,sha256=wY_B4of5e8Vv7w1fRwOZzNGU2JqbMdcFnGjtEr4hLus,7686
|
40
40
|
janito/cli/chat_mode/bindings.py,sha256=lQYk1dJrHt4ec_RphuPlPYMG2QRoLp8Bl0mcGZqhMZE,2906
|
@@ -87,7 +87,7 @@ janito/cli/cli_commands/list_plugins.py,sha256=s9lZYhy8UANMj7j6c-l-nP4kJIfM_VYsG
|
|
87
87
|
janito/cli/cli_commands/list_profiles.py,sha256=O4k6U9iCEeNH3lM-NP_XX_E9W0h__hheLSn23241dkA,3538
|
88
88
|
janito/cli/cli_commands/list_providers.py,sha256=oilrBjNL5mot1nz45XQQY6oeiSxoNvphhQYspNcEJpw,391
|
89
89
|
janito/cli/cli_commands/list_providers_region.py,sha256=qrMj_gtgEMty8UH0P_O5SgWCVJ9ZKxGUp_GdsE4_EH4,2548
|
90
|
-
janito/cli/cli_commands/list_tools.py,sha256=
|
90
|
+
janito/cli/cli_commands/list_tools.py,sha256=fljJ_0aYbsMVfQ1GBHVefSSZTwIRkKOak6kXug5g7VQ,3786
|
91
91
|
janito/cli/cli_commands/model_selection.py,sha256=ANWtwC5glZkGMdaNtARDbEG3QmuBUcDLVxzzC5jeBNo,1643
|
92
92
|
janito/cli/cli_commands/model_utils.py,sha256=4t2ZN8DYA8jxluXHiiliV8gMbF_90nKGtgU9VO4-gMg,5088
|
93
93
|
janito/cli/cli_commands/ping_providers.py,sha256=hetZAKKZzQYRpRDT5OvRTOe4jYUVNZGjo8gFoyeRA3I,1921
|
@@ -103,7 +103,8 @@ janito/cli/core/setters.py,sha256=zjSUxy6iUzcrmEunFk7dA90KqbMaq2O7LTGP8wn2HxA,53
|
|
103
103
|
janito/cli/core/unsetters.py,sha256=FEw9gCt0vRvoCt0kRSNfVB2tzi_TqppJIx2nHPP59-k,2012
|
104
104
|
janito/cli/single_shot_mode/__init__.py,sha256=Ct99pKe9tINzVW6oedZJfzfZQKWpXz-weSSCn0hrwHY,115
|
105
105
|
janito/cli/single_shot_mode/handler.py,sha256=d251ObY-5bkUyccV9NYkKDF0VCKrQTrGEnwt3mtj61w,5529
|
106
|
-
janito/
|
106
|
+
janito/data/blocked.txt,sha256=3Xq5kil19cbBEkvz95w0PcfyzmLWnIwz1_GQpouuGvQ,2434
|
107
|
+
janito/docs/GETTING_STARTED.md,sha256=tzJkRRD-902jn6Mh7vy9r70dTpK1iIMkyIddB7-ScNc,4895
|
107
108
|
janito/drivers/dashscope.bak.zip,sha256=9Pv4Xyciju8jO1lEMFVgYXexoZkxmDO3Ig6vw3ODfL8,4936
|
108
109
|
janito/drivers/openai_responses.bak.zip,sha256=E43eDCHGa2tCtdjzj_pMnWDdnsOZzj8BJTR5tJp8wcM,13352
|
109
110
|
janito/drivers/azure_openai/driver.py,sha256=L2rQOl1d0BHaDChHLtZszAeuWNoyYIgwuYuahE1qJps,4152
|
@@ -198,61 +199,60 @@ janito/plugins/dev/__init__.py,sha256=V7wIaP_LMGBtg6ldz5fmiWf0eL-lSz4vcFgZjKcHAZ
|
|
198
199
|
janito/plugins/dev/pythondev/__init__.py,sha256=qAO8Ub1lwBAMcfIt6oX0clTTB2msjIIJNHBRZczhHy8,991
|
199
200
|
janito/plugins/dev/visualization/__init__.py,sha256=2zJuePRWKBzuC1_XHg3cguh-JGh4GcvkdENUV3xplz4,547
|
200
201
|
janito/plugins/dev/visualization/tools/read_chart.py,sha256=qQebp_MEE_x2AL_pl85uA58A4lbhLQsyGl7wiG_Cjhc,10411
|
201
|
-
janito/plugins/tools/__init__.py,sha256=
|
202
|
-
janito/plugins/tools/
|
203
|
-
janito/plugins/tools/
|
204
|
-
janito/plugins/tools/
|
205
|
-
janito/plugins/tools/create_directory.py,sha256=
|
206
|
-
janito/plugins/tools/create_file.py,sha256=
|
207
|
-
janito/plugins/tools/decorators.py,sha256=BRAjjo4NF4_JxwPPVrrF2wtzsJXuZJkwv_QhZgPFMS4,382
|
208
|
-
janito/plugins/tools/delete_text_in_file.py,sha256=
|
209
|
-
janito/plugins/tools/fetch_url.py,sha256=
|
210
|
-
janito/plugins/tools/find_files.py,sha256=
|
211
|
-
janito/plugins/tools/move_file.py,sha256=
|
212
|
-
janito/plugins/tools/open_html_in_browser.py,sha256=
|
213
|
-
janito/plugins/tools/open_url.py,sha256=
|
214
|
-
janito/plugins/tools/python_code_run.py,sha256=
|
215
|
-
janito/plugins/tools/python_command_run.py,sha256=
|
216
|
-
janito/plugins/tools/python_file_run.py,sha256=
|
217
|
-
janito/plugins/tools/read_chart.py,sha256=
|
218
|
-
janito/plugins/tools/read_files.py,sha256=
|
219
|
-
janito/plugins/tools/remove_directory.py,sha256=
|
220
|
-
janito/plugins/tools/remove_file.py,sha256=
|
221
|
-
janito/plugins/tools/replace_text_in_file.py,sha256=
|
222
|
-
janito/plugins/tools/run_bash_command.py,sha256=
|
223
|
-
janito/plugins/tools/run_powershell_command.py,sha256=
|
224
|
-
janito/plugins/tools/show_image.py,sha256=
|
225
|
-
janito/plugins/tools/show_image_grid.py,sha256=
|
226
|
-
janito/plugins/tools/view_file.py,sha256=
|
227
|
-
janito/plugins/tools/get_file_outline/__init__.py,sha256=po2B4UWf4qvw3yisWkiW1VeeFl1SGvm4xhs1kNbNyCc,110
|
228
|
-
janito/plugins/tools/get_file_outline/core.py,sha256=
|
229
|
-
janito/plugins/tools/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
|
230
|
-
janito/plugins/tools/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
|
231
|
-
janito/plugins/tools/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
|
232
|
-
janito/plugins/tools/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
|
233
|
-
janito/plugins/tools/search_text/__init__.py,sha256=pZo-65KTw9y0oFBCBXEyxACbS10QvAXa21icXuRyh34,101
|
234
|
-
janito/plugins/tools/search_text/core.py,sha256=
|
235
|
-
janito/plugins/tools/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
|
236
|
-
janito/plugins/tools/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
|
237
|
-
janito/plugins/tools/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
|
238
|
-
janito/plugins/tools/validate_file_syntax/__init__.py,sha256=1Fp7sHG_ndTJi9xbUzpFSp9TSW-DpwN2n_psZM8mXmw,128
|
239
|
-
janito/plugins/tools/validate_file_syntax/core.py,sha256=
|
240
|
-
janito/plugins/tools/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
|
241
|
-
janito/plugins/tools/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
|
242
|
-
janito/plugins/tools/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
|
243
|
-
janito/plugins/tools/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
|
244
|
-
janito/plugins/tools/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
|
245
|
-
janito/plugins/tools/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
|
246
|
-
janito/plugins/tools/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
|
247
|
-
janito/plugins/tools/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
|
248
|
-
janito/plugins/tools/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
|
249
|
-
janito/plugins/tools/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
|
202
|
+
janito/plugins/tools/__init__.py,sha256=ZNAIrOSWmpF05ATQ91lT9esapWt-DeFVC9mLkXVflhU,842
|
203
|
+
janito/plugins/tools/core/__init__.py,sha256=u6glCTNvcaT_CJb8vr62gZVUzI8QkYMe7PVfWywtZZA,1961
|
204
|
+
janito/plugins/tools/core/ask_user.py,sha256=AEJUExJ7yVNMT3AyC-Qn-EU1kcPI5h5KfiLm66rNTgc,4030
|
205
|
+
janito/plugins/tools/core/copy_file.py,sha256=PdqGfIIl3LyR7fwO2rbyyT4pHnBhn__xyduSA13BmvU,3652
|
206
|
+
janito/plugins/tools/core/create_directory.py,sha256=63cfJD-yR5ovj3cLI_M4RlaxTdLKj2BYL5OBo7RgR14,2554
|
207
|
+
janito/plugins/tools/core/create_file.py,sha256=xG1IlOdWjofUDeLgCq-TBFkMNRb2x5VfCx0Wf5iTT5o,6379
|
208
|
+
janito/plugins/tools/core/decorators.py,sha256=BRAjjo4NF4_JxwPPVrrF2wtzsJXuZJkwv_QhZgPFMS4,382
|
209
|
+
janito/plugins/tools/core/delete_text_in_file.py,sha256=eLv5CuBIS_bWioNdFcTafJVdRyrqnT29MylW4ziB3Jc,5030
|
210
|
+
janito/plugins/tools/core/fetch_url.py,sha256=uvVLP3p5WKJA04x9lMZtqKCUCI25Zo-AQ_UVzuaxweQ,18346
|
211
|
+
janito/plugins/tools/core/find_files.py,sha256=CXBoWA00SYUbHE0Sb7_L3UEcGWClhbTOx7eCyslCi0s,6220
|
212
|
+
janito/plugins/tools/core/move_file.py,sha256=dcyVJjzRG7ooGzbSyg13hTWhJGyb8yL5dH9EZsi9zPg,4665
|
213
|
+
janito/plugins/tools/core/open_html_in_browser.py,sha256=sq2hyxL5KIKWkMcPr0xt7_Bb3-ledZvxThuHJLJJMAc,2071
|
214
|
+
janito/plugins/tools/core/open_url.py,sha256=HNHODd_NujeJCgdME1icazyHLMDlEJc_Wqj2uj7-jP4,1522
|
215
|
+
janito/plugins/tools/core/python_code_run.py,sha256=6eR3Ne4bAYtlHXU4tfEafR3kkxPbkrsjbfSD3yMSgEs,7695
|
216
|
+
janito/plugins/tools/core/python_command_run.py,sha256=jkYxtDyNwv57PZMP-nc3r-g32840jWR7ok1UghSZxUY,7625
|
217
|
+
janito/plugins/tools/core/python_file_run.py,sha256=KdQokh1y6yBIThAprdYRfe-sNFdsZeutrtmjWh9vHV8,7549
|
218
|
+
janito/plugins/tools/core/read_chart.py,sha256=eTPTQCpSVtMtfZJvU5DL0-73ytJJ16C3PRk7mHMbvY8,10381
|
219
|
+
janito/plugins/tools/core/read_files.py,sha256=q61N1PHO08-holujVpUElpMS9x4DqmTRTQuxM70Pa48,2299
|
220
|
+
janito/plugins/tools/core/remove_directory.py,sha256=OGcccTXG7JkWLBKFBqzpxhUx0kGi9LyyOmGVg6sT-P4,1883
|
221
|
+
janito/plugins/tools/core/remove_file.py,sha256=o6bTaG3nbyMOBNPgCXUgczVtxnius7C12Z4vCeOtILg,2063
|
222
|
+
janito/plugins/tools/core/replace_text_in_file.py,sha256=BIctL2LQXYE6OLuNjJuh8FKwZHZ1iwRIZOBd0PWhpSc,10909
|
223
|
+
janito/plugins/tools/core/run_bash_command.py,sha256=yGCxf17pb9UNKg4X6PUkvHl9myYgsCkOY_zxLSKtM3s,7925
|
224
|
+
janito/plugins/tools/core/run_powershell_command.py,sha256=hUvBTgjwzbX5h1V7FyaZZWebhQCKdkjxCyU28vG7Klg,9283
|
225
|
+
janito/plugins/tools/core/show_image.py,sha256=Eb8UjwDjO0TWwrRzYxkOFQi25Yql3vzammQe45yI0iw,3032
|
226
|
+
janito/plugins/tools/core/show_image_grid.py,sha256=rW8c5WPn6zY-G2MsCsoJXIe0LwLyH2fUBqcpoSiCVqw,3098
|
227
|
+
janito/plugins/tools/core/view_file.py,sha256=8Q0s_GgVWE_Bholtv0YyHIB_v1v_jHg9JGQAI3jUsgI,7349
|
228
|
+
janito/plugins/tools/core/get_file_outline/__init__.py,sha256=po2B4UWf4qvw3yisWkiW1VeeFl1SGvm4xhs1kNbNyCc,110
|
229
|
+
janito/plugins/tools/core/get_file_outline/core.py,sha256=55miu8PS1Xx03U_bZgPuMy2XTM4Y1op6tr5kHudh578,4571
|
230
|
+
janito/plugins/tools/core/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
|
231
|
+
janito/plugins/tools/core/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
|
232
|
+
janito/plugins/tools/core/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
|
233
|
+
janito/plugins/tools/core/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
|
234
|
+
janito/plugins/tools/core/search_text/__init__.py,sha256=pZo-65KTw9y0oFBCBXEyxACbS10QvAXa21icXuRyh34,101
|
235
|
+
janito/plugins/tools/core/search_text/core.py,sha256=x4A3A_NWGa-ddix_wvZLL6DJjC3HJfQb_ktYjA9-Pvg,7837
|
236
|
+
janito/plugins/tools/core/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
|
237
|
+
janito/plugins/tools/core/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
|
238
|
+
janito/plugins/tools/core/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
|
239
|
+
janito/plugins/tools/core/validate_file_syntax/__init__.py,sha256=1Fp7sHG_ndTJi9xbUzpFSp9TSW-DpwN2n_psZM8mXmw,128
|
240
|
+
janito/plugins/tools/core/validate_file_syntax/core.py,sha256=9JUd62fSYzB2C74pWiCckzPtUIhbe2xW4BX4ahxLApA,3686
|
241
|
+
janito/plugins/tools/core/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
|
242
|
+
janito/plugins/tools/core/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
|
243
|
+
janito/plugins/tools/core/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
|
244
|
+
janito/plugins/tools/core/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
|
245
|
+
janito/plugins/tools/core/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
|
246
|
+
janito/plugins/tools/core/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
|
247
|
+
janito/plugins/tools/core/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
|
248
|
+
janito/plugins/tools/core/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
|
249
|
+
janito/plugins/tools/core/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
|
250
|
+
janito/plugins/tools/core/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
|
250
251
|
janito/plugins/ui/__init__.py,sha256=V3bXCQO9YyWc6oiPKyXRP6YqJT_LT9330b3uukSzJ_8,122
|
251
252
|
janito/plugins/ui/userinterface/__init__.py,sha256=kmno20y5PuZvv_eqDWPKEcN6Zo_vlyt-WZv-4A5e8UI,352
|
252
253
|
janito/plugins/ui/userinterface/tools/ask_user.py,sha256=4xY8SUndw_OYAPzeIRxugmihxxn7Y-b2v9xYT_LGdkY,3941
|
253
254
|
janito/plugins/web/__init__.py,sha256=gVPBgz06iQgBUlqHJt3TpWQErkbH_Cx_6BX6XVSYtcY,118
|
254
|
-
janito/plugins/web/webtools/__init__.py,sha256=
|
255
|
-
janito/plugins/web/webtools/tools/fetch_url.py,sha256=VjB89FjLNrqLmOVL6wm1RHyixB3n-RViC0DJjW33iRM,17804
|
255
|
+
janito/plugins/web/webtools/__init__.py,sha256=akymnsZCF1a9260obArMxt8qgbGpkAJTQCudqdMJivs,556
|
256
256
|
janito/plugins/web/webtools/tools/open_html_in_browser.py,sha256=XqICIwVx5vEE77gHkaNAC-bAeEEy0DBmDksATiL-sRY,2101
|
257
257
|
janito/plugins/web/webtools/tools/open_url.py,sha256=V3Sv7iLynUreLjVl5-bl-XFH_LzpTeBrS8-cvzp_7rM,1552
|
258
258
|
janito/providers/__init__.py,sha256=LZcyllhmGyOXQ8duQA2Qbg0fSrahog5ATNZppNOxFK0,571
|
@@ -282,8 +282,8 @@ janito/providers/mistral/__init__.py,sha256=jFHSvtQro8BnHajv7M0Zf9vssXyTzLxyN2J-
|
|
282
282
|
janito/providers/mistral/model_info.py,sha256=yeCg30ZjJ-HL4QaH7YjADKReINkDMmA3Cj28g7MyMP0,2268
|
283
283
|
janito/providers/mistral/provider.py,sha256=rBFrwT40vnPi-whNCMI8o-OurIdCRxm3tkgPXBDB3Gk,4775
|
284
284
|
janito/providers/moonshot/__init__.py,sha256=QBirGjijujOZuJ1UZ8c7MflSy5EHjWnuBmAr3AupbH0,29
|
285
|
-
janito/providers/moonshot/model_info.py,sha256=
|
286
|
-
janito/providers/moonshot/provider.py,sha256=
|
285
|
+
janito/providers/moonshot/model_info.py,sha256=vkMQGMhp3BbKL336n4M-GTHOySc3WrBD1K85Z7hCLzo,1014
|
286
|
+
janito/providers/moonshot/provider.py,sha256=vkZ7sqL4yN5o5a_YbI_Q0CXNrcQGegviLZXhQ0Js4_I,3847
|
287
287
|
janito/providers/openai/__init__.py,sha256=f0m16-sIqScjL9Mp4A0CQBZx6H3PTEy0cnE08jeaB5U,38
|
288
288
|
janito/providers/openai/model_info.py,sha256=VTkq3xcx2vk0tXlFVHQxKeFzl-DL1T1J2elVOEwCdHI,4265
|
289
289
|
janito/providers/openai/provider.py,sha256=PPr_qmSe5GyysnZCxhjeUVhE2LWKjKOSRel-8aaxq_U,4761
|
@@ -301,8 +301,9 @@ janito/regions/geo_utils.py,sha256=nLJ2x0tx1xMNI0_cMEiji-X8denynsaPYmXR9gGg8uk,5
|
|
301
301
|
janito/regions/provider_regions.py,sha256=QJdbsdgjg-WcTRqPLGtm3pHJAm2o0-Y9MgE_vNzENEk,4619
|
302
302
|
janito/tools/DOCSTRING_STANDARD.txt,sha256=VLPwNgjxRVD_xZSSVvUZ4H-4bBwM-VKh_RyfzYQsYSs,1735
|
303
303
|
janito/tools/README.md,sha256=5HkLpF5k4PENJER7SlDPRXj0yo9mpHvAHW4uuzhq4ak,115
|
304
|
-
janito/tools/__init__.py,sha256=
|
304
|
+
janito/tools/__init__.py,sha256=_B8-Q2jdfwPPxGoKUXxSbpJgcq1Sc74RsMTb9nCB_Tw,2377
|
305
305
|
janito/tools/base.py,sha256=R38A9xWYh3JRYZMDSom2d1taNDy9J7HpLbZo9X2wH_o,316
|
306
|
+
janito/tools/blocked_sites.py,sha256=SPq8XznJkDaJ_NIHFHPfsRb1KzySk4W_NVyGGlaRZf0,2721
|
306
307
|
janito/tools/cli_initializer.py,sha256=KJbUL6_iAsaeBZl_AVrdtczSZRQBJ9RPZufHJVKwAtU,2632
|
307
308
|
janito/tools/disabled_tools.py,sha256=Tx__16wtMWZ9z34cYLdH1gukwot5MCL-9kLjd5MPX6Y,2110
|
308
309
|
janito/tools/initialize.py,sha256=BSwzCPCmis2n4q5W3tWBEr4MgVS4tAwBjfKoNM4CefI,2002
|
@@ -325,9 +326,14 @@ janito/tools/url_whitelist.py,sha256=0CPLkHTp5HgnwgjxwgXnJmwPeZQ30q4j3YjW59hiUUE
|
|
325
326
|
janito/tools/adapters/__init__.py,sha256=H25uYM2ETMLKpKPPEPAu9-AFjxkKfSyfx3pnoXSQlVA,255
|
326
327
|
janito/tools/adapters/local/__init__.py,sha256=1DVnka4iEQp8Xrs7rJVVx45fPpuVahjTFmuJhv-gN8s,249
|
327
328
|
janito/tools/adapters/local/adapter.py,sha256=u4nLHTaYdwZXMi1J8lsKvlG6rOmdq9xjey_3zeyCG4k,8707
|
328
|
-
janito
|
329
|
-
janito
|
330
|
-
janito
|
331
|
-
janito
|
332
|
-
janito
|
333
|
-
janito-3.
|
329
|
+
janito/tools/adapters/local/copy_file.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
330
|
+
janito/tools/adapters/local/create_file.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
331
|
+
janito/tools/adapters/local/move_file.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
332
|
+
janito/tools/adapters/local/remove_file.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
333
|
+
janito/tools/adapters/local/view_file.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
334
|
+
janito-3.6.1.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
|
335
|
+
janito-3.6.1.dist-info/METADATA,sha256=RYuWCoaMdEUxuCs94DyZ90cb6sStUHdCs8rM8p5755s,6071
|
336
|
+
janito-3.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
337
|
+
janito-3.6.1.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
|
338
|
+
janito-3.6.1.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
|
339
|
+
janito-3.6.1.dist-info/RECORD,,
|
@@ -1,87 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Core tools plugin implementation.
|
3
|
-
"""
|
4
|
-
|
5
|
-
from functools import wraps
|
6
|
-
from typing import Type
|
7
|
-
from janito.plugin_system.base import Plugin, PluginMetadata
|
8
|
-
|
9
|
-
from .ask_user import AskUser
|
10
|
-
from .copy_file import CopyFile
|
11
|
-
from .create_directory import CreateDirectory
|
12
|
-
from .create_file import CreateFile
|
13
|
-
from .delete_text_in_file import DeleteTextInFile
|
14
|
-
from .fetch_url import FetchUrl
|
15
|
-
from .find_files import FindFiles
|
16
|
-
from .move_file import MoveFile
|
17
|
-
from .open_html_in_browser import OpenHtmlInBrowser
|
18
|
-
from .open_url import OpenUrl
|
19
|
-
from .python_code_run import PythonCodeRun
|
20
|
-
from .python_command_run import PythonCommandRun
|
21
|
-
from .python_file_run import PythonFileRun
|
22
|
-
from .read_chart import ReadChart
|
23
|
-
from .read_files import ReadFiles
|
24
|
-
from .remove_directory import RemoveDirectory
|
25
|
-
from .remove_file import RemoveFile
|
26
|
-
from .replace_text_in_file import ReplaceTextInFile
|
27
|
-
from .run_bash_command import RunBashCommand
|
28
|
-
from .run_powershell_command import RunPowershellCommand
|
29
|
-
from .show_image import ShowImage
|
30
|
-
from .show_image_grid import ShowImageGrid
|
31
|
-
from .view_file import ViewFile
|
32
|
-
from .validate_file_syntax.core import ValidateFileSyntax
|
33
|
-
from .get_file_outline.core import GetFileOutline
|
34
|
-
from .search_text.core import SearchText
|
35
|
-
from .decorators import get_core_tools
|
36
|
-
|
37
|
-
# Registry for core tools
|
38
|
-
_core_tools_registry = []
|
39
|
-
|
40
|
-
|
41
|
-
def register_core_tool(cls: Type):
|
42
|
-
"""Decorator to register a core tool."""
|
43
|
-
_core_tools_registry.append(cls)
|
44
|
-
return cls
|
45
|
-
|
46
|
-
|
47
|
-
class CoreToolsPlugin(Plugin):
|
48
|
-
"""Core tools plugin providing essential janito functionality."""
|
49
|
-
|
50
|
-
def get_metadata(self):
|
51
|
-
return PluginMetadata(
|
52
|
-
name="core_tools",
|
53
|
-
version="1.0.0",
|
54
|
-
description="Core tools for file operations, code execution, and system interactions",
|
55
|
-
author="janito team",
|
56
|
-
license="MIT",
|
57
|
-
)
|
58
|
-
|
59
|
-
def get_tools(self):
|
60
|
-
return [
|
61
|
-
AskUser,
|
62
|
-
CopyFile,
|
63
|
-
CreateDirectory,
|
64
|
-
CreateFile,
|
65
|
-
DeleteTextInFile,
|
66
|
-
FetchUrl,
|
67
|
-
FindFiles,
|
68
|
-
MoveFile,
|
69
|
-
OpenHtmlInBrowser,
|
70
|
-
OpenUrl,
|
71
|
-
PythonCodeRun,
|
72
|
-
PythonCommandRun,
|
73
|
-
PythonFileRun,
|
74
|
-
ReadChart,
|
75
|
-
ReadFiles,
|
76
|
-
RemoveDirectory,
|
77
|
-
RemoveFile,
|
78
|
-
ReplaceTextInFile,
|
79
|
-
RunBashCommand,
|
80
|
-
RunPowershellCommand,
|
81
|
-
ShowImage,
|
82
|
-
ShowImageGrid,
|
83
|
-
ViewFile,
|
84
|
-
ValidateFileSyntax,
|
85
|
-
GetFileOutline,
|
86
|
-
SearchText,
|
87
|
-
] + get_core_tools()
|