jarvis-ai-assistant 0.1.177__py3-none-any.whl → 0.1.179__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.
Potentially problematic release.
This version of jarvis-ai-assistant might be problematic. Click here for more details.
- jarvis/__init__.py +1 -1
- jarvis/jarvis_agent/__init__.py +145 -125
- jarvis/jarvis_agent/builtin_input_handler.py +1 -1
- jarvis/jarvis_agent/jarvis.py +9 -13
- jarvis/jarvis_agent/main.py +4 -2
- jarvis/jarvis_code_agent/code_agent.py +34 -23
- jarvis/jarvis_code_agent/lint.py +164 -0
- jarvis/jarvis_code_analysis/checklists/loader.py +6 -20
- jarvis/jarvis_code_analysis/code_review.py +8 -6
- jarvis/jarvis_dev/main.py +1 -8
- jarvis/jarvis_event/__init__.py +0 -0
- jarvis/jarvis_git_details/main.py +1 -1
- jarvis/jarvis_git_squash/main.py +5 -3
- jarvis/jarvis_git_utils/git_commiter.py +24 -23
- jarvis/jarvis_mcp/sse_mcp_client.py +6 -4
- jarvis/jarvis_mcp/stdio_mcp_client.py +5 -4
- jarvis/jarvis_mcp/streamable_mcp_client.py +404 -0
- jarvis/jarvis_methodology/main.py +10 -9
- jarvis/jarvis_multi_agent/main.py +3 -1
- jarvis/jarvis_platform/base.py +14 -8
- jarvis/jarvis_platform/human.py +3 -1
- jarvis/jarvis_platform/kimi.py +10 -7
- jarvis/jarvis_platform/openai.py +70 -11
- jarvis/jarvis_platform/registry.py +6 -2
- jarvis/jarvis_platform/yuanbao.py +13 -10
- jarvis/jarvis_platform_manager/main.py +11 -9
- jarvis/jarvis_smart_shell/main.py +1 -0
- jarvis/jarvis_tools/ask_codebase.py +6 -4
- jarvis/jarvis_tools/ask_user.py +2 -1
- jarvis/jarvis_tools/base.py +3 -1
- jarvis/jarvis_tools/chdir.py +2 -1
- jarvis/jarvis_tools/cli/main.py +1 -0
- jarvis/jarvis_tools/code_plan.py +5 -3
- jarvis/jarvis_tools/create_code_agent.py +5 -2
- jarvis/jarvis_tools/create_sub_agent.py +1 -3
- jarvis/jarvis_tools/edit_file.py +37 -29
- jarvis/jarvis_tools/execute_script.py +1 -1
- jarvis/jarvis_tools/file_analyzer.py +5 -3
- jarvis/jarvis_tools/file_operation.py +4 -7
- jarvis/jarvis_tools/find_methodology.py +4 -2
- jarvis/jarvis_tools/generate_new_tool.py +2 -1
- jarvis/jarvis_tools/methodology.py +3 -4
- jarvis/jarvis_tools/read_code.py +2 -1
- jarvis/jarvis_tools/read_webpage.py +3 -1
- jarvis/jarvis_tools/registry.py +23 -14
- jarvis/jarvis_tools/rewrite_file.py +2 -1
- jarvis/jarvis_tools/search_web.py +1 -0
- jarvis/jarvis_tools/virtual_tty.py +5 -4
- jarvis/jarvis_utils/__init__.py +2 -0
- jarvis/jarvis_utils/builtin_replace_map.py +1 -1
- jarvis/jarvis_utils/config.py +40 -1
- jarvis/jarvis_utils/embedding.py +4 -3
- jarvis/jarvis_utils/file_processors.py +1 -0
- jarvis/jarvis_utils/git_utils.py +55 -25
- jarvis/jarvis_utils/globals.py +4 -2
- jarvis/jarvis_utils/input.py +14 -7
- jarvis/jarvis_utils/methodology.py +6 -4
- jarvis/jarvis_utils/output.py +10 -6
- jarvis/jarvis_utils/utils.py +89 -13
- {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/METADATA +45 -33
- jarvis_ai_assistant-0.1.179.dist-info/RECORD +98 -0
- jarvis/jarvis_lsp/base.py +0 -66
- jarvis/jarvis_lsp/cpp.py +0 -99
- jarvis/jarvis_lsp/go.py +0 -104
- jarvis/jarvis_lsp/python.py +0 -58
- jarvis/jarvis_lsp/registry.py +0 -169
- jarvis/jarvis_lsp/rust.py +0 -107
- jarvis/jarvis_tools/lsp_get_diagnostics.py +0 -147
- jarvis_ai_assistant-0.1.177.dist-info/RECORD +0 -102
- {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/top_level.txt +0 -0
jarvis/jarvis_lsp/rust.py
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import os
|
|
3
|
-
import shutil
|
|
4
|
-
import subprocess
|
|
5
|
-
from typing import List, Dict, Optional, Any
|
|
6
|
-
import json
|
|
7
|
-
from jarvis.jarvis_lsp.base import BaseLSP
|
|
8
|
-
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
|
9
|
-
|
|
10
|
-
class RustLSP(BaseLSP):
|
|
11
|
-
"""Rust LSP implementation using rust-analyzer."""
|
|
12
|
-
|
|
13
|
-
language = "rust"
|
|
14
|
-
|
|
15
|
-
@staticmethod
|
|
16
|
-
def check() -> bool:
|
|
17
|
-
"""Check if rust-analyzer is installed."""
|
|
18
|
-
return shutil.which("rust-analyzer") is not None
|
|
19
|
-
|
|
20
|
-
def __init__(self):
|
|
21
|
-
self.workspace_path = ""
|
|
22
|
-
self.analyzer_process = None
|
|
23
|
-
self.request_id = 0
|
|
24
|
-
|
|
25
|
-
def initialize(self, workspace_path: str) -> bool:
|
|
26
|
-
try:
|
|
27
|
-
self.workspace_path = workspace_path
|
|
28
|
-
# Start rust-analyzer process
|
|
29
|
-
self.analyzer_process = subprocess.Popen(
|
|
30
|
-
["rust-analyzer"],
|
|
31
|
-
stdin=subprocess.PIPE,
|
|
32
|
-
stdout=subprocess.PIPE,
|
|
33
|
-
stderr=subprocess.PIPE
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
# Send initialize request
|
|
37
|
-
self._send_request("initialize", {
|
|
38
|
-
"processId": os.getpid(),
|
|
39
|
-
"rootUri": f"file://{workspace_path}",
|
|
40
|
-
"capabilities": {
|
|
41
|
-
"textDocument": {
|
|
42
|
-
"semanticTokens": {"full": True},
|
|
43
|
-
"hover": {"contentFormat": ["markdown"]},
|
|
44
|
-
"inlayHint": {"resolveSupport": {"properties": ["label.tooltip", "label.location", "label.command"]}},
|
|
45
|
-
"completion": {"completionItem": {"snippetSupport": True}}
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
"workspaceFolders": [{"uri": f"file://{workspace_path}", "name": "workspace"}]
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
return True
|
|
52
|
-
except Exception as e:
|
|
53
|
-
PrettyOutput.print(f"Rust LSP 初始化失败: {str(e)}", OutputType.ERROR)
|
|
54
|
-
return False
|
|
55
|
-
|
|
56
|
-
def _send_request(self, method: str, params: Dict) -> Optional[Dict]:
|
|
57
|
-
"""Send JSON-RPC request to rust-analyzer."""
|
|
58
|
-
if not self.analyzer_process:
|
|
59
|
-
return None
|
|
60
|
-
|
|
61
|
-
try:
|
|
62
|
-
self.request_id += 1
|
|
63
|
-
request = {
|
|
64
|
-
"jsonrpc": "2.0",
|
|
65
|
-
"id": self.request_id,
|
|
66
|
-
"method": method,
|
|
67
|
-
"params": params
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
self.analyzer_process.stdin.write(json.dumps(request).encode() + b"\n") # type: ignore
|
|
71
|
-
self.analyzer_process.stdin.flush() # type: ignore
|
|
72
|
-
|
|
73
|
-
response = json.loads(self.analyzer_process.stdout.readline().decode()) # type: ignore
|
|
74
|
-
return response.get("result")
|
|
75
|
-
except Exception:
|
|
76
|
-
return None
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
def get_diagnostics(self, file_path: str) -> List[Dict[str, Any]]:
|
|
80
|
-
# Send didOpen notification to trigger diagnostics
|
|
81
|
-
self._send_request("textDocument/didOpen", {
|
|
82
|
-
"textDocument": {
|
|
83
|
-
"uri": f"file://{file_path}",
|
|
84
|
-
"languageId": "rust",
|
|
85
|
-
"version": 1,
|
|
86
|
-
"text": open(file_path).read()
|
|
87
|
-
}
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
# Wait for diagnostic notification
|
|
91
|
-
try:
|
|
92
|
-
response = json.loads(self.analyzer_process.stdout.readline().decode()) # type: ignore
|
|
93
|
-
if response.get("method") == "textDocument/publishDiagnostics":
|
|
94
|
-
return response.get("params", {}).get("diagnostics", [])
|
|
95
|
-
except Exception:
|
|
96
|
-
pass
|
|
97
|
-
return []
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
def shutdown(self):
|
|
101
|
-
if self.analyzer_process:
|
|
102
|
-
try:
|
|
103
|
-
self._send_request("shutdown", {})
|
|
104
|
-
self.analyzer_process.terminate()
|
|
105
|
-
self.analyzer_process = None
|
|
106
|
-
except Exception:
|
|
107
|
-
pass
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import os
|
|
3
|
-
from typing import Dict, Any
|
|
4
|
-
from jarvis.jarvis_lsp.registry import LSPRegistry
|
|
5
|
-
class LSPGetDiagnosticsTool:
|
|
6
|
-
"""Tool for getting diagnostics (errors, warnings) from code using LSP."""
|
|
7
|
-
|
|
8
|
-
# 工具名称
|
|
9
|
-
name = "lsp_get_diagnostics"
|
|
10
|
-
# 工具描述
|
|
11
|
-
description = "Get diagnostic information (errors, warnings) from code files"
|
|
12
|
-
# 工具标签
|
|
13
|
-
# 工具参数定义
|
|
14
|
-
parameters = {
|
|
15
|
-
"file_path": "Path to the file to analyze",
|
|
16
|
-
"language": f"Programming language of the file ({', '.join(LSPRegistry.get_global_lsp_registry().get_supported_languages())})",
|
|
17
|
-
"root_dir": {
|
|
18
|
-
"type": "string",
|
|
19
|
-
"description": "Root directory for LSP operations (optional)",
|
|
20
|
-
"default": "."
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@staticmethod
|
|
25
|
-
def check() -> bool:
|
|
26
|
-
"""检查是否有可用的LSP服务器"""
|
|
27
|
-
registry = LSPRegistry.get_global_lsp_registry()
|
|
28
|
-
return len(registry.get_supported_languages()) > 0
|
|
29
|
-
|
|
30
|
-
def execute(self, args: Dict[str, Any]) -> Dict[str, Any]:
|
|
31
|
-
"""执行工具的主要逻辑"""
|
|
32
|
-
file_path = args.get("file_path", "")
|
|
33
|
-
language = args.get("language", "")
|
|
34
|
-
root_dir = args.get("root_dir", ".")
|
|
35
|
-
|
|
36
|
-
# 验证输入参数
|
|
37
|
-
if not all([file_path, language]):
|
|
38
|
-
return {
|
|
39
|
-
"success": False,
|
|
40
|
-
"stderr": "Both file_path and language must be provided",
|
|
41
|
-
"stdout": ""
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
# 检查文件是否存在
|
|
45
|
-
if not os.path.exists(file_path):
|
|
46
|
-
return {
|
|
47
|
-
"success": False,
|
|
48
|
-
"stderr": f"File not found: {file_path}",
|
|
49
|
-
"stdout": ""
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
# 存储当前目录
|
|
53
|
-
original_dir = os.getcwd()
|
|
54
|
-
|
|
55
|
-
try:
|
|
56
|
-
# 切换到root_dir
|
|
57
|
-
os.chdir(root_dir)
|
|
58
|
-
|
|
59
|
-
# 获取LSP实例
|
|
60
|
-
registry = LSPRegistry.get_global_lsp_registry()
|
|
61
|
-
lsp = registry.create_lsp(language)
|
|
62
|
-
|
|
63
|
-
# 检查语言是否支持
|
|
64
|
-
if not lsp:
|
|
65
|
-
return {
|
|
66
|
-
"success": False,
|
|
67
|
-
"stderr": f"No LSP support for language: {language}",
|
|
68
|
-
"stdout": ""
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
try:
|
|
72
|
-
# 初始化LSP
|
|
73
|
-
if not lsp.initialize(os.path.abspath(os.getcwd())):
|
|
74
|
-
return {
|
|
75
|
-
"success": False,
|
|
76
|
-
"stderr": "LSP initialization failed",
|
|
77
|
-
"stdout": ""
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
# 获取诊断信息
|
|
81
|
-
diagnostics = lsp.get_diagnostics(file_path)
|
|
82
|
-
|
|
83
|
-
# 如果没有诊断信息
|
|
84
|
-
if not diagnostics:
|
|
85
|
-
return {
|
|
86
|
-
"success": True,
|
|
87
|
-
"stdout": "No issues found in the file",
|
|
88
|
-
"stderr": ""
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
# 格式化输出
|
|
92
|
-
output = ["Diagnostics:"]
|
|
93
|
-
# 严重程度映射
|
|
94
|
-
severity_map = {1: "Error", 2: "Warning", 3: "Info", 4: "Hint"}
|
|
95
|
-
|
|
96
|
-
# 按严重程度和行号排序诊断信息
|
|
97
|
-
sorted_diagnostics = sorted(
|
|
98
|
-
diagnostics,
|
|
99
|
-
key=lambda x: (x["severity"], x["range"]["start"]["line"])
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
# 处理每个诊断信息
|
|
103
|
-
for diag in sorted_diagnostics:
|
|
104
|
-
severity = severity_map.get(diag["severity"], "Unknown")
|
|
105
|
-
start = diag["range"]["start"]
|
|
106
|
-
line = LSPRegistry.get_line_at_position(file_path, start["line"]).strip()
|
|
107
|
-
|
|
108
|
-
output.extend([
|
|
109
|
-
f"\n{severity} at line {start['line'] + 1}, column {start['character'] + 1}:",
|
|
110
|
-
f"Message: {diag['message']}",
|
|
111
|
-
f"Code: {line}",
|
|
112
|
-
"-" * 60
|
|
113
|
-
])
|
|
114
|
-
|
|
115
|
-
# 处理相关附加信息
|
|
116
|
-
if diag.get("relatedInformation"):
|
|
117
|
-
output.append("Related information:")
|
|
118
|
-
for info in diag["relatedInformation"]:
|
|
119
|
-
info_line = LSPRegistry.get_line_at_position(
|
|
120
|
-
info["location"]["uri"],
|
|
121
|
-
info["location"]["range"]["start"]["line"]
|
|
122
|
-
).strip()
|
|
123
|
-
output.extend([
|
|
124
|
-
f" - {info['message']}",
|
|
125
|
-
f" at {info['location']['uri']}:{info['location']['range']['start']['line'] + 1}",
|
|
126
|
-
f" {info_line}"
|
|
127
|
-
])
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
"success": True,
|
|
131
|
-
"stdout": "\n".join(output),
|
|
132
|
-
"stderr": ""
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
except Exception as e:
|
|
136
|
-
return {
|
|
137
|
-
"success": False,
|
|
138
|
-
"stderr": f"Error getting diagnostics: {str(e)}",
|
|
139
|
-
"stdout": ""
|
|
140
|
-
}
|
|
141
|
-
finally:
|
|
142
|
-
# 确保关闭LSP连接
|
|
143
|
-
if lsp:
|
|
144
|
-
lsp.shutdown()
|
|
145
|
-
finally:
|
|
146
|
-
# 恢复原始目录
|
|
147
|
-
os.chdir(original_dir)
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=0MngHgwvNC88-Zyu-Vgu75cfUiHVHhf7dT3ntn_mOvQ,74
|
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=sDUOtM7Y-BQt2WBavx2bV5OkHD_iMGV32FfSu4IEa3s,29175
|
|
3
|
-
jarvis/jarvis_agent/builtin_input_handler.py,sha256=KhvlV_QdB3P-M0TCkWvdxidNie1jU7KoMOqTIXCpwwA,1529
|
|
4
|
-
jarvis/jarvis_agent/jarvis.py,sha256=h3-FsL9Y4GtbNPk6qWYs2t6VB8CKabY7_UNe58tzucE,6142
|
|
5
|
-
jarvis/jarvis_agent/main.py,sha256=jvxnBmm4BM13quaCip2PC1-DkAX0MAU25b8nhHIQ5xM,2667
|
|
6
|
-
jarvis/jarvis_agent/output_handler.py,sha256=7qori-RGrQmdiFepoEe3oPPKJIvRt90l_JDmvCoa4zA,1219
|
|
7
|
-
jarvis/jarvis_agent/shell_input_handler.py,sha256=pi3AtPKrkKc6K9e99S1djKXQ_XrxtP6FrSWebQmRT6E,1261
|
|
8
|
-
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=9SBMlLWNGR6lqVD7xZaLjokka-yoNGb-OxpHtJjCf_k,17166
|
|
10
|
-
jarvis/jarvis_code_analysis/code_review.py,sha256=9zfVY_u_WSRIKQ69lXeW-pOunh5lYYyQe9i_zEO3m2k,30212
|
|
11
|
-
jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=cKQ_FOGy5TQgM-YkRCqORo-mUOZaPAJ9VDmZoFX58us,78
|
|
12
|
-
jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=SXPpYCNeCtU1PpKdKPiYDuOybfY9vaL0ejDn4imxDwA,1317
|
|
13
|
-
jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=vS-cu6RCGg5SyK9MJ3RE381gt3xYl-yea3Bj2UQEcwQ,2420
|
|
14
|
-
jarvis/jarvis_code_analysis/checklists/data_format.py,sha256=0ljCQPNrhFq3Qzl7WQZy-5jRE5OQG-6fjK-ZMQhP7AE,3005
|
|
15
|
-
jarvis/jarvis_code_analysis/checklists/devops.py,sha256=caupq-mZyXOfK5cSkpgcxdivqK89_2lWuDbXDuVndI8,3542
|
|
16
|
-
jarvis/jarvis_code_analysis/checklists/docs.py,sha256=lOr69-3-wobyfx82NLYZmZKHfoAov_rF4D6YMjsmOkY,3341
|
|
17
|
-
jarvis/jarvis_code_analysis/checklists/go.py,sha256=8Q16X08aj9pyLyi5c85xB2CcZI-eLlxw7TJDTij5BBY,1388
|
|
18
|
-
jarvis/jarvis_code_analysis/checklists/infrastructure.py,sha256=KgyuZHJfKCbon1qxqoTDBnUbDrY7dfFnfPkTlH4BrlI,3765
|
|
19
|
-
jarvis/jarvis_code_analysis/checklists/java.py,sha256=RReiw64i-o5yLIhZdFkkWzMl9yE4_SnQr7CwWz5dTas,2085
|
|
20
|
-
jarvis/jarvis_code_analysis/checklists/javascript.py,sha256=i1srwYq0H-d9Ql98UpJSvceHe5jTJX3CFO_sgmw7_AU,2340
|
|
21
|
-
jarvis/jarvis_code_analysis/checklists/kotlin.py,sha256=AgVEDHdDC4kD-XYjT5V3LNjRpcWeVCoPThVg1juD1Ns,4436
|
|
22
|
-
jarvis/jarvis_code_analysis/checklists/loader.py,sha256=_jK2H21P5AWDDPrSqnWveE3pOygaqgfaP3Gw7xhSKfQ,1919
|
|
23
|
-
jarvis/jarvis_code_analysis/checklists/php.py,sha256=_EvpnWwHOGM3wAc9aXJrtwy3LQvYNR-oxPhtv71qZj4,2481
|
|
24
|
-
jarvis/jarvis_code_analysis/checklists/python.py,sha256=rQ2jpDG0CPzeWiBc2Q6kJA0IBpyheL4-gtMwe6whgOM,1452
|
|
25
|
-
jarvis/jarvis_code_analysis/checklists/ruby.py,sha256=JbU1eHafIhlV0qWtYxEltz6AaFzUSU_F3KuqylnMcgc,4274
|
|
26
|
-
jarvis/jarvis_code_analysis/checklists/rust.py,sha256=oe_1wPaBgMScQTn-697aghWVsIvNO2v8E6m_lcP8_iU,1646
|
|
27
|
-
jarvis/jarvis_code_analysis/checklists/shell.py,sha256=IXQkWHwA-4GUQz3WUs7l6hEy7Vrjd92egUYXGfu2FKQ,2619
|
|
28
|
-
jarvis/jarvis_code_analysis/checklists/sql.py,sha256=ecKKT6wJAibn8R0NxGZDNlm4teYXvF3CAJvVk8mmX7w,2355
|
|
29
|
-
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=YcsYFxAitHqOtBZjG-RV9-KNM7X5lIcl6zlEI9XfmfM,2566
|
|
30
|
-
jarvis/jarvis_code_analysis/checklists/web.py,sha256=-Pnj1FQTsGVZUQK7-4ptDsGd7a22Cs0585jRAPT2SdQ,3943
|
|
31
|
-
jarvis/jarvis_data/huggingface.tar.gz,sha256=dWKnc_tvyx-I_ZkXo91O0b38KxDmLW1ZbmJ3E6fCl_k,1120205
|
|
32
|
-
jarvis/jarvis_dev/main.py,sha256=kyCLm2Ta-iMK20m62O7_rB-Biy_bGxpqrLrLtMOkT5c,43022
|
|
33
|
-
jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
jarvis/jarvis_git_details/main.py,sha256=lYx2tSaV1cKCvs3iRf-gHwotg-sljvxC4iPeODpBnbA,9007
|
|
35
|
-
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
jarvis/jarvis_git_squash/main.py,sha256=nGygczZlRbczKAU8LEFLHQVjpgCkbGx7GQQcwo57cSo,2276
|
|
37
|
-
jarvis/jarvis_git_utils/git_commiter.py,sha256=58ZhxwDdYzMH9-uvVe2dazQfq8uNcZTJQq7SMJEFsic,13020
|
|
38
|
-
jarvis/jarvis_lsp/base.py,sha256=ZngrQ4NUy9iPrXORcw4QR-tWZi2G79nsfqeqqkaxSZ0,2054
|
|
39
|
-
jarvis/jarvis_lsp/cpp.py,sha256=WL7rItrwFkYRSZzQHnoOoQ-EDho7Jd6BOaCn1UgsQ3A,3165
|
|
40
|
-
jarvis/jarvis_lsp/go.py,sha256=FkBJAeJex8jamn44o_cpYCygSTGMnsykJGrnkVFlTww,3482
|
|
41
|
-
jarvis/jarvis_lsp/python.py,sha256=bTvo4i4tzoYFOag9lzDEIBb6-oNHGIrHFz1SQQ2w5qM,1867
|
|
42
|
-
jarvis/jarvis_lsp/registry.py,sha256=4qvwpsRhBLfYmsU1N2qn3mF_K-P66J69Oupt0et33xk,6515
|
|
43
|
-
jarvis/jarvis_lsp/rust.py,sha256=Z2KmvTsIcn5SLM4iaLG4Mael1h6zlZQIiOopbDpurag,3710
|
|
44
|
-
jarvis/jarvis_mcp/__init__.py,sha256=NF_vqRxaNyz8ColcpRh0bOkinV90YLAKHEN--jkP-B8,2114
|
|
45
|
-
jarvis/jarvis_mcp/sse_mcp_client.py,sha256=FOVzroTw-pifmnF0qdsoQ6KweDCQ0Gxs6d6jl4VopiQ,23483
|
|
46
|
-
jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=KO0ewJuLBZLNqG4EGJcBOtn-8VJIipkq84ENvSwgQAo,11830
|
|
47
|
-
jarvis/jarvis_methodology/main.py,sha256=QJUMIb9o8JO-l207X5UIbazZKJYKG3F4iuUKtkm0dmg,11840
|
|
48
|
-
jarvis/jarvis_multi_agent/__init__.py,sha256=Xab5sFltJmX_9MoXqanmZs6FqKfUb2v_pG29Vk8ZXaw,4311
|
|
49
|
-
jarvis/jarvis_multi_agent/main.py,sha256=Ax3Oe0mjcW567VhFYPt3H5MwqLS1VdxKCeiNgXltmXk,1644
|
|
50
|
-
jarvis/jarvis_platform/__init__.py,sha256=0YnsUoM4JkIBOtImFdjfuDbrqQZT3dEaAwSJ62DrpCc,104
|
|
51
|
-
jarvis/jarvis_platform/base.py,sha256=ioIEtuEVuXCdLpPofR9c-lqvADM-pCz5XOMQVKq8xeI,6740
|
|
52
|
-
jarvis/jarvis_platform/human.py,sha256=1Jh9xigQaU78WVvsIMaVH0i6QRhaSA1oaErv9BdntF8,2565
|
|
53
|
-
jarvis/jarvis_platform/kimi.py,sha256=p18Ydb_0rgnK3-WZXKUtTBQTh7Da33O277PKWOMqBhA,13106
|
|
54
|
-
jarvis/jarvis_platform/openai.py,sha256=ln-OYxZkWaSY9oDoBPMmMh2TDGN40iTtUURLk8batvQ,4159
|
|
55
|
-
jarvis/jarvis_platform/registry.py,sha256=UjCdPT9WIRxU-F0uuPpKmKRRCcNNxjr-bRTEPgRSNx4,7740
|
|
56
|
-
jarvis/jarvis_platform/yuanbao.py,sha256=Vi8D3lhTOwg2-PmMj7HHRXKg-dViI2ghtJcxm3tf8nc,21669
|
|
57
|
-
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
jarvis/jarvis_platform_manager/main.py,sha256=cpnqYWjb2fU2uhrTtYyyrKpe6rta2NniYjZE6BjLG8k,25675
|
|
59
|
-
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
jarvis/jarvis_smart_shell/main.py,sha256=v3DXutU-lBYABxB1tURHPcdTJuoT3gthdXl8O5tOGJw,5208
|
|
61
|
-
jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
jarvis/jarvis_tools/ask_codebase.py,sha256=bdYZlEdKGFQjYL90Qo3ybgxicFPU8g3mQtLH8exmliU,10063
|
|
63
|
-
jarvis/jarvis_tools/ask_user.py,sha256=cWSLG33b79IbIZEWsSNV5RHvGX6eo3nTM8TUhOMnGh8,2167
|
|
64
|
-
jarvis/jarvis_tools/base.py,sha256=SR4dmrgYj3lNmtVDhHtItPvptTqCfw5SGRhgPT3I6ss,1189
|
|
65
|
-
jarvis/jarvis_tools/chdir.py,sha256=wYVBqWF5kaUkKqH3cUAOKUsACzYsFtCCJJyd8UJsp4o,2706
|
|
66
|
-
jarvis/jarvis_tools/code_plan.py,sha256=EzLdbJnVCkJ7lL8XIQyuDJdxU1i3CFiBpqyNG-GdJw8,7753
|
|
67
|
-
jarvis/jarvis_tools/create_code_agent.py,sha256=cxYkjr4rhI2EWpK78psZSRB9mxiP1IUT0SEfFIqCJzY,3411
|
|
68
|
-
jarvis/jarvis_tools/create_sub_agent.py,sha256=ppTOFRd0ygSJUFr3oQ8IrCLOqbZ7vwnbdadfTDjpDgs,3025
|
|
69
|
-
jarvis/jarvis_tools/edit_file.py,sha256=EqyLcnLNqFAhIn3g_wZs78qeGFPJh4Rieldbt5l4FHY,16226
|
|
70
|
-
jarvis/jarvis_tools/execute_script.py,sha256=cc0NlPwhkZinEexqT63d1ofEkzQddVWGsZOCVL1v_60,5739
|
|
71
|
-
jarvis/jarvis_tools/file_analyzer.py,sha256=tzU1cPKyDa54hVZewP0bDzdsjvdjGQ1BRt5k8N4li3s,4868
|
|
72
|
-
jarvis/jarvis_tools/file_operation.py,sha256=lP8EpsnSdA3FW8ofSAdoA8qPGMAG3UhYd6LFEzOFUVY,9044
|
|
73
|
-
jarvis/jarvis_tools/find_methodology.py,sha256=FwGKSV4fHNkiAnaVUwP8GkqXl8PEqMPZBxAyvTSPFGA,2438
|
|
74
|
-
jarvis/jarvis_tools/generate_new_tool.py,sha256=ctpkHBihsHhO6sLpF5lJue244EFJtdEQMuxR-_oV9r4,10282
|
|
75
|
-
jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=paz1CVZ2Y8nk0U74n1QiG01oDINiZqpVlPc2f4_B150,5346
|
|
76
|
-
jarvis/jarvis_tools/methodology.py,sha256=Md8W2et0xUiuTjUSRCdnlwEPYqah2dCAAkxW_95BXBY,5238
|
|
77
|
-
jarvis/jarvis_tools/read_code.py,sha256=dOG7bafutOhjLiU7NH-o7E_o6pJrXH98SAGRJ36Yj9Q,5897
|
|
78
|
-
jarvis/jarvis_tools/read_webpage.py,sha256=LLvAOvaQJodaeNJKQ6dU9MYEE227NMdHyLs7esluUQ4,2217
|
|
79
|
-
jarvis/jarvis_tools/registry.py,sha256=ISgelm0E1mNj0bikJxN9fA1VGzm23pVkWv-j7E3gWHY,23792
|
|
80
|
-
jarvis/jarvis_tools/rewrite_file.py,sha256=rEPPSNU7uF1iKfEW9npEpZJ2LSoQXjt2OC-_troBToE,7003
|
|
81
|
-
jarvis/jarvis_tools/search_web.py,sha256=-h1WYOqTcYC_8fdkm-4RfwKpbtLTVxOfRROul51NgO0,951
|
|
82
|
-
jarvis/jarvis_tools/virtual_tty.py,sha256=AKAaKY5KcPxifNQoXjzHaL4U6EUVA7irHLwVvz2wLVs,16396
|
|
83
|
-
jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
-
jarvis/jarvis_tools/cli/main.py,sha256=FkBUh7TgvZu6CZfQAKdu0zYm27fSfA6OK4H_m8h_4Mw,6354
|
|
85
|
-
jarvis/jarvis_utils/__init__.py,sha256=l-fsyQ-KzyqAhrJYur8eZAqsgaifGzSm24R2qtRGJ0g,849
|
|
86
|
-
jarvis/jarvis_utils/builtin_replace_map.py,sha256=A-cJ8deht2vDl2iKRhoZ7qECyJ6sboVH5Zx-L9vIBUs,4314
|
|
87
|
-
jarvis/jarvis_utils/config.py,sha256=CuumaSrwSaSdt_bJVqjuH3u45ZKafm7MQANqO5NZDXk,4756
|
|
88
|
-
jarvis/jarvis_utils/embedding.py,sha256=s7ze8-talEED9VXZm1QK5tPdfyj6sXJLP031tDkXeI4,3831
|
|
89
|
-
jarvis/jarvis_utils/file_processors.py,sha256=tSZSMJ4qCJ_lXI0dyLgJ0j5qEh6CDXDSVI7vQiFmcuQ,2976
|
|
90
|
-
jarvis/jarvis_utils/git_utils.py,sha256=MxhUcQ_gFUFyBxBiorEJ1wUk9a2TerFdq3-Z11FB-AE,11324
|
|
91
|
-
jarvis/jarvis_utils/globals.py,sha256=Zs0chxA_giYiolYvawFFpcnTWgCUnn6GEusAh42jbz8,2275
|
|
92
|
-
jarvis/jarvis_utils/input.py,sha256=qGf2q-yWhgT-OX-j_WYi7aZ11jYmuFNiMz2_W1nUOiM,7432
|
|
93
|
-
jarvis/jarvis_utils/methodology.py,sha256=9dmtj6Ei2CRUdQP9TA_xToqZPYcm5_DQovwnRkEShsA,8626
|
|
94
|
-
jarvis/jarvis_utils/output.py,sha256=jrZMPl4RGaw8i-IFN4JwkH3wB9QDl002Car5eENDE9c,9657
|
|
95
|
-
jarvis/jarvis_utils/tag.py,sha256=YJHmuedLb7_AiqvKQetHr4R1FxyzIh7HN0RRkWMmYbU,429
|
|
96
|
-
jarvis/jarvis_utils/utils.py,sha256=yXSSQwgwho3MpQWvJN1uRvRPsFvkKqhvQrbDz3ZyyxU,5390
|
|
97
|
-
jarvis_ai_assistant-0.1.177.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
98
|
-
jarvis_ai_assistant-0.1.177.dist-info/METADATA,sha256=Yt6Tjk7wG7gh0nyyRhYtMPu0-_pg0mTvcIlDrqOuT2g,14629
|
|
99
|
-
jarvis_ai_assistant-0.1.177.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
|
100
|
-
jarvis_ai_assistant-0.1.177.dist-info/entry_points.txt,sha256=rjj61tZ7ahLi1R-JkJmX-IzIPPHD8mnwDZap1CnMe2s,973
|
|
101
|
-
jarvis_ai_assistant-0.1.177.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
102
|
-
jarvis_ai_assistant-0.1.177.dist-info/RECORD,,
|
|
File without changes
|
{jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/top_level.txt
RENAMED
|
File without changes
|