jarvis-ai-assistant 0.1.134__py3-none-any.whl → 0.1.138__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 +201 -79
- jarvis/jarvis_agent/builtin_input_handler.py +16 -6
- jarvis/jarvis_agent/file_input_handler.py +9 -9
- jarvis/jarvis_agent/jarvis.py +10 -10
- jarvis/jarvis_agent/main.py +12 -11
- jarvis/jarvis_agent/output_handler.py +3 -3
- jarvis/jarvis_agent/patch.py +86 -62
- jarvis/jarvis_agent/shell_input_handler.py +5 -3
- jarvis/jarvis_code_agent/code_agent.py +134 -99
- jarvis/jarvis_code_agent/file_select.py +24 -24
- jarvis/jarvis_dev/main.py +45 -51
- jarvis/jarvis_git_details/__init__.py +0 -0
- jarvis/jarvis_git_details/main.py +179 -0
- jarvis/jarvis_git_squash/main.py +7 -7
- jarvis/jarvis_lsp/base.py +11 -11
- jarvis/jarvis_lsp/cpp.py +14 -14
- jarvis/jarvis_lsp/go.py +13 -13
- jarvis/jarvis_lsp/python.py +8 -8
- jarvis/jarvis_lsp/registry.py +21 -21
- jarvis/jarvis_lsp/rust.py +15 -15
- jarvis/jarvis_methodology/main.py +101 -0
- jarvis/jarvis_multi_agent/__init__.py +11 -11
- jarvis/jarvis_multi_agent/main.py +6 -6
- jarvis/jarvis_platform/__init__.py +1 -1
- jarvis/jarvis_platform/ai8.py +67 -89
- jarvis/jarvis_platform/base.py +14 -13
- jarvis/jarvis_platform/kimi.py +25 -28
- jarvis/jarvis_platform/ollama.py +24 -26
- jarvis/jarvis_platform/openai.py +15 -19
- jarvis/jarvis_platform/oyi.py +48 -50
- jarvis/jarvis_platform/registry.py +27 -28
- jarvis/jarvis_platform/yuanbao.py +38 -42
- jarvis/jarvis_platform_manager/main.py +81 -81
- jarvis/jarvis_platform_manager/openai_test.py +21 -21
- jarvis/jarvis_rag/file_processors.py +18 -18
- jarvis/jarvis_rag/main.py +261 -277
- jarvis/jarvis_smart_shell/main.py +12 -12
- jarvis/jarvis_tools/ask_codebase.py +28 -28
- jarvis/jarvis_tools/ask_user.py +8 -8
- jarvis/jarvis_tools/base.py +4 -4
- jarvis/jarvis_tools/chdir.py +9 -9
- jarvis/jarvis_tools/code_review.py +19 -19
- jarvis/jarvis_tools/create_code_agent.py +15 -15
- jarvis/jarvis_tools/execute_python_script.py +3 -3
- jarvis/jarvis_tools/execute_shell.py +11 -11
- jarvis/jarvis_tools/execute_shell_script.py +3 -3
- jarvis/jarvis_tools/file_analyzer.py +29 -29
- jarvis/jarvis_tools/file_operation.py +22 -20
- jarvis/jarvis_tools/find_caller.py +25 -25
- jarvis/jarvis_tools/find_methodolopy.py +65 -0
- jarvis/jarvis_tools/find_symbol.py +24 -24
- jarvis/jarvis_tools/function_analyzer.py +27 -27
- jarvis/jarvis_tools/git_commiter.py +9 -9
- jarvis/jarvis_tools/lsp_get_diagnostics.py +19 -19
- jarvis/jarvis_tools/methodology.py +23 -62
- jarvis/jarvis_tools/project_analyzer.py +29 -33
- jarvis/jarvis_tools/rag.py +15 -15
- jarvis/jarvis_tools/read_code.py +24 -22
- jarvis/jarvis_tools/read_webpage.py +31 -31
- jarvis/jarvis_tools/registry.py +72 -52
- jarvis/jarvis_tools/tool_generator.py +18 -18
- jarvis/jarvis_utils/config.py +23 -23
- jarvis/jarvis_utils/embedding.py +83 -83
- jarvis/jarvis_utils/git_utils.py +20 -20
- jarvis/jarvis_utils/globals.py +18 -6
- jarvis/jarvis_utils/input.py +10 -9
- jarvis/jarvis_utils/methodology.py +140 -136
- jarvis/jarvis_utils/output.py +11 -11
- jarvis/jarvis_utils/utils.py +22 -70
- {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/METADATA +1 -1
- jarvis_ai_assistant-0.1.138.dist-info/RECORD +85 -0
- {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/entry_points.txt +2 -0
- jarvis/jarvis_tools/select_code_files.py +0 -62
- jarvis_ai_assistant-0.1.134.dist-info/RECORD +0 -82
- {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/top_level.txt +0 -0
jarvis/jarvis_utils/utils.py
CHANGED
|
@@ -10,7 +10,7 @@ from jarvis.jarvis_utils.input import get_single_line_input
|
|
|
10
10
|
from jarvis.jarvis_utils.output import PrettyOutput, OutputType
|
|
11
11
|
def init_env():
|
|
12
12
|
"""初始化环境变量从~/.jarvis/env文件
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
功能:
|
|
15
15
|
1. 创建不存在的.jarvis目录
|
|
16
16
|
2. 加载环境变量到os.environ
|
|
@@ -18,7 +18,7 @@ def init_env():
|
|
|
18
18
|
"""
|
|
19
19
|
jarvis_dir = Path.home() / ".jarvis"
|
|
20
20
|
env_file = jarvis_dir / "env"
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
# Check if ~/.jarvis directory exists
|
|
23
23
|
if not jarvis_dir.exists():
|
|
24
24
|
jarvis_dir.mkdir(parents=True)
|
|
@@ -37,11 +37,11 @@ def init_env():
|
|
|
37
37
|
PrettyOutput.print(f"警告: 读取 {env_file} 失败: {e}", OutputType.WARNING)
|
|
38
38
|
def while_success(func, sleep_time: float = 0.1):
|
|
39
39
|
"""循环执行函数直到成功
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
参数:
|
|
42
42
|
func -- 要执行的函数
|
|
43
43
|
sleep_time -- 每次失败后的等待时间(秒)
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
返回:
|
|
46
46
|
函数执行结果
|
|
47
47
|
"""
|
|
@@ -61,35 +61,36 @@ def while_true(func, sleep_time: float = 0.1):
|
|
|
61
61
|
PrettyOutput.print(f"执行失败, 等待 {sleep_time}s...", OutputType.WARNING)
|
|
62
62
|
time.sleep(sleep_time)
|
|
63
63
|
return ret
|
|
64
|
-
def get_file_md5(filepath: str)->str:
|
|
64
|
+
def get_file_md5(filepath: str)->str:
|
|
65
65
|
"""Calculate the MD5 hash of a file's content.
|
|
66
|
-
|
|
66
|
+
|
|
67
67
|
Args:
|
|
68
68
|
filepath: Path to the file to hash
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
Returns:
|
|
71
71
|
str: MD5 hash of the file's content
|
|
72
72
|
"""
|
|
73
73
|
return hashlib.md5(open(filepath, "rb").read(100*1024*1024)).hexdigest()
|
|
74
74
|
def user_confirm(tip: str, default: bool = True) -> bool:
|
|
75
75
|
"""Prompt the user for confirmation with a yes/no question.
|
|
76
|
-
|
|
76
|
+
|
|
77
77
|
Args:
|
|
78
78
|
tip: The message to show to the user
|
|
79
79
|
default: The default response if user hits enter
|
|
80
|
-
|
|
80
|
+
|
|
81
81
|
Returns:
|
|
82
82
|
bool: True if user confirmed, False otherwise
|
|
83
83
|
"""
|
|
84
84
|
suffix = "[Y/n]" if default else "[y/N]"
|
|
85
85
|
ret = get_single_line_input(f"{tip} {suffix}: ")
|
|
86
86
|
return default if ret == "" else ret.lower() == "y"
|
|
87
|
+
|
|
87
88
|
def get_file_line_count(filename: str) -> int:
|
|
88
89
|
"""Count the number of lines in a file.
|
|
89
|
-
|
|
90
|
+
|
|
90
91
|
Args:
|
|
91
92
|
filename: Path to the file to count lines for
|
|
92
|
-
|
|
93
|
+
|
|
93
94
|
Returns:
|
|
94
95
|
int: Number of lines in the file, 0 if file cannot be read
|
|
95
96
|
"""
|
|
@@ -97,94 +98,45 @@ def get_file_line_count(filename: str) -> int:
|
|
|
97
98
|
return len(open(filename, "r", encoding="utf-8", errors="ignore").readlines())
|
|
98
99
|
except Exception as e:
|
|
99
100
|
return 0
|
|
100
|
-
def init_gpu_config() -> Dict:
|
|
101
|
-
"""初始化GPU配置
|
|
102
|
-
|
|
103
|
-
功能:
|
|
104
|
-
1. 检测CUDA可用性
|
|
105
|
-
2. 计算设备内存和共享内存
|
|
106
|
-
3. 设置CUDA内存分配策略
|
|
107
|
-
4. 处理异常情况
|
|
108
|
-
|
|
109
|
-
返回:
|
|
110
|
-
包含GPU配置信息的字典
|
|
111
|
-
"""
|
|
112
|
-
config = {
|
|
113
|
-
"has_gpu": False,
|
|
114
|
-
"shared_memory": 0,
|
|
115
|
-
"device_memory": 0,
|
|
116
|
-
"memory_fraction": 0.8 # 默认使用80%的可用内存
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True"
|
|
120
|
-
|
|
121
|
-
try:
|
|
122
|
-
import torch
|
|
123
|
-
if torch.cuda.is_available():
|
|
124
|
-
# 获取GPU信息
|
|
125
|
-
gpu_mem = torch.cuda.get_device_properties(0).total_memory
|
|
126
|
-
config["has_gpu"] = True
|
|
127
|
-
config["device_memory"] = gpu_mem
|
|
128
|
-
|
|
129
|
-
# 估算共享内存 (通常是系统内存的一部分)
|
|
130
|
-
system_memory = psutil.virtual_memory().total
|
|
131
|
-
config["shared_memory"] = min(system_memory * 0.5, gpu_mem * 2) # 取系统内存的50%或GPU内存的2倍中的较小值
|
|
132
|
-
|
|
133
|
-
# 设置CUDA内存分配
|
|
134
|
-
torch.cuda.set_per_process_memory_fraction(config["memory_fraction"])
|
|
135
|
-
torch.cuda.empty_cache()
|
|
136
|
-
|
|
137
|
-
PrettyOutput.print(
|
|
138
|
-
f"GPU已初始化: {torch.cuda.get_device_name(0)}\n"
|
|
139
|
-
f"设备内存: {gpu_mem / 1024**3:.1f}GB\n"
|
|
140
|
-
f"共享内存: {config['shared_memory'] / 1024**3:.1f}GB",
|
|
141
|
-
output_type=OutputType.SUCCESS
|
|
142
|
-
)
|
|
143
|
-
else:
|
|
144
|
-
PrettyOutput.print("没有GPU可用, 使用CPU模式", output_type=OutputType.WARNING)
|
|
145
|
-
except Exception as e:
|
|
146
|
-
PrettyOutput.print(f"GPU初始化失败: {str(e)}", output_type=OutputType.WARNING)
|
|
147
|
-
|
|
148
|
-
return config
|
|
149
101
|
|
|
150
102
|
|
|
151
103
|
def is_long_context(files: list) -> bool:
|
|
152
104
|
"""检查文件列表是否属于长上下文
|
|
153
|
-
|
|
105
|
+
|
|
154
106
|
判断标准:
|
|
155
107
|
当总token数超过最大上下文长度的80%时视为长上下文
|
|
156
|
-
|
|
108
|
+
|
|
157
109
|
参数:
|
|
158
110
|
files -- 要检查的文件路径列表
|
|
159
|
-
|
|
111
|
+
|
|
160
112
|
返回:
|
|
161
113
|
布尔值表示是否属于长上下文
|
|
162
114
|
"""
|
|
163
115
|
max_token_count = get_max_token_count()
|
|
164
116
|
threshold = max_token_count * 0.8
|
|
165
117
|
total_tokens = 0
|
|
166
|
-
|
|
118
|
+
|
|
167
119
|
for file_path in files:
|
|
168
120
|
try:
|
|
169
121
|
with open(file_path, 'r', encoding='utf-8', errors="ignore") as f:
|
|
170
122
|
content = f.read()
|
|
171
123
|
total_tokens += get_context_token_count(content)
|
|
172
|
-
|
|
124
|
+
|
|
173
125
|
if total_tokens > threshold:
|
|
174
126
|
return True
|
|
175
127
|
except Exception as e:
|
|
176
128
|
PrettyOutput.print(f"读取文件 {file_path} 失败: {e}", OutputType.WARNING)
|
|
177
129
|
continue
|
|
178
|
-
|
|
130
|
+
|
|
179
131
|
return total_tokens > threshold
|
|
180
132
|
|
|
181
133
|
|
|
182
134
|
def ot(tag_name: str) -> str:
|
|
183
135
|
"""生成HTML标签开始标记
|
|
184
|
-
|
|
136
|
+
|
|
185
137
|
参数:
|
|
186
138
|
tag_name -- HTML标签名称
|
|
187
|
-
|
|
139
|
+
|
|
188
140
|
返回:
|
|
189
141
|
格式化的开始标签字符串
|
|
190
142
|
"""
|
|
@@ -192,10 +144,10 @@ def ot(tag_name: str) -> str:
|
|
|
192
144
|
|
|
193
145
|
def ct(tag_name: str) -> str:
|
|
194
146
|
"""生成HTML标签结束标记
|
|
195
|
-
|
|
147
|
+
|
|
196
148
|
参数:
|
|
197
149
|
tag_name -- HTML标签名称
|
|
198
|
-
|
|
150
|
+
|
|
199
151
|
返回:
|
|
200
152
|
格式化的结束标签字符串
|
|
201
153
|
"""
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
jarvis/__init__.py,sha256=pWmblmMIqI04itaFvKT9nNVf1WmTSC_qFSJ1mIDSzNw,50
|
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=LgZ-YqfdYBbpuxFXpJ0LkfqqD4M5VLbpg3GVGxUyIPM,21527
|
|
3
|
+
jarvis/jarvis_agent/builtin_input_handler.py,sha256=ytUyFHsOofP9KMociGYljO6hwN-s8MrbeCf6AO-3Kuw,2784
|
|
4
|
+
jarvis/jarvis_agent/file_input_handler.py,sha256=6rIF_FgC9_3UcQhFCmoMoECG4tjKaLBZZ5zDtBl037I,3235
|
|
5
|
+
jarvis/jarvis_agent/jarvis.py,sha256=NmxVJ8KwSc4fumntNL1T5TWj-FvcRgssLeBhG4sA3xk,5368
|
|
6
|
+
jarvis/jarvis_agent/main.py,sha256=j1hiMRUQiQlf_vIuL1-DGHei69pA8LPyGy8d8VpmsA0,2497
|
|
7
|
+
jarvis/jarvis_agent/output_handler.py,sha256=4limQ-Kf-YYvQjT5SMjJIyyvD1DVG8tINv1A_qbv4ho,405
|
|
8
|
+
jarvis/jarvis_agent/patch.py,sha256=7JNbzdS3iAI3UjCpg5tSCxcwTa9Dl3MkcVQXb41ojd4,19727
|
|
9
|
+
jarvis/jarvis_agent/shell_input_handler.py,sha256=hgdaKyuQIXKjJA77VVEEeiTAqQQDASFSG8DsWeV3yiw,1138
|
|
10
|
+
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=5Hk7fiovny9HLV3lid2qEd8qDjD7WlrSPlmfmPJAUl0,12876
|
|
12
|
+
jarvis/jarvis_code_agent/file_select.py,sha256=tswdpDTHBZnICC0CQE0ROf1ogHDRLi5SKgAKkMHIrnQ,7920
|
|
13
|
+
jarvis/jarvis_dev/main.py,sha256=Ieg1eT2x2TaOu7V2mucMfNqVEZKs6OUhV1giNNfqH9U,28956
|
|
14
|
+
jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
jarvis/jarvis_git_details/main.py,sha256=YowncVxYyJ3y2EvGrZhAJeR4yizXp6aB3dqvoYTepFY,6117
|
|
16
|
+
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
jarvis/jarvis_git_squash/main.py,sha256=rLMTMw2KpY5JSo55wyrpvw4C75kiLZB4oqt7LNaPPN0,2140
|
|
18
|
+
jarvis/jarvis_lsp/base.py,sha256=CWfiqiQ6ZBc_lrW64Y1YAsFQeNPGoWcgTBGKgOrPVQg,2047
|
|
19
|
+
jarvis/jarvis_lsp/cpp.py,sha256=SOXFhpipvbdhlwUZ7Rh0hdWGXWnrNOxZVsmTN6ZXoZk,3148
|
|
20
|
+
jarvis/jarvis_lsp/go.py,sha256=h7vA0ArGSq9rhLZcrPXg5HdnEbKwnjVr322IkYI1jHw,3465
|
|
21
|
+
jarvis/jarvis_lsp/python.py,sha256=xMqSVJn8w6CZEquSIO2I-6TJ7-YOABgpt3SjNOV6UAk,1860
|
|
22
|
+
jarvis/jarvis_lsp/registry.py,sha256=LduRCEVH5y75IODdY8lZ3ZB3OHKpgwbZnYNxuhUmA_o,6439
|
|
23
|
+
jarvis/jarvis_lsp/rust.py,sha256=9UOiYTUwMwz2raj1G8Uec0aB5Oun7wMiWYGDhC4JMpI,3693
|
|
24
|
+
jarvis/jarvis_methodology/main.py,sha256=IBv87UOmdCailgooMtWEcqZcQHmNLhZD-kkGw5jOcVg,3375
|
|
25
|
+
jarvis/jarvis_multi_agent/__init__.py,sha256=SX8lBErhltKyYRM-rymrMz3sJ0Zl3hBXrpsPdFgzkQc,4399
|
|
26
|
+
jarvis/jarvis_multi_agent/main.py,sha256=aGuUC3YQmahabqwDwZXJjfQLYsZ3KIZdf8DZDlVNMe4,1543
|
|
27
|
+
jarvis/jarvis_platform/__init__.py,sha256=WIJtD5J7lOrWLX2bsgZGkmlMcN0NOJsnh_reybmHPjg,58
|
|
28
|
+
jarvis/jarvis_platform/ai8.py,sha256=OI1AnU8e5SiUOWSC_eLK6lCO-pNFLwq07hoGgmnYqNc,9154
|
|
29
|
+
jarvis/jarvis_platform/base.py,sha256=ZOVVlajgZPZ397MFgW6qD_zDHCNVKWmMA_lShas-iAM,3082
|
|
30
|
+
jarvis/jarvis_platform/kimi.py,sha256=ZIrV3qX38HgF6zSd7XAiwnws-VVWZd70TKaQkEQJMdQ,9567
|
|
31
|
+
jarvis/jarvis_platform/ollama.py,sha256=Di4ail1qUFjd62denf-kPbo49mltik2jZPpIxP8K5G4,4804
|
|
32
|
+
jarvis/jarvis_platform/openai.py,sha256=N0q8S3lnqtUJfhiwcH4LVX4-yJUDxvT5x0rA_B3P1Gc,4035
|
|
33
|
+
jarvis/jarvis_platform/oyi.py,sha256=KAdrSuLWFD_xRCQlHCTF7d8hVPsKgvYyVrzBldUZLsw,11131
|
|
34
|
+
jarvis/jarvis_platform/registry.py,sha256=fmyNqKgJhN7Lxco6Xu9yClkNkmxKioW57AVPrldSuM8,7575
|
|
35
|
+
jarvis/jarvis_platform/yuanbao.py,sha256=-617Vn2YC7GZIkO0YAZgCrDsExuuCl4dM2_uxIvJa7M,10343
|
|
36
|
+
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
jarvis/jarvis_platform_manager/main.py,sha256=o7UDrcCkLf9dTh2LOO-_bQVHjWf2X6RuSY5XRtCGvZs,20245
|
|
38
|
+
jarvis/jarvis_platform_manager/openai_test.py,sha256=8L9Xx-oR82X8l38NsVhkymYucICwMb-6yrH17Usk2TI,4954
|
|
39
|
+
jarvis/jarvis_rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
+
jarvis/jarvis_rag/file_processors.py,sha256=m9X45EAzxI4n8F1NvE5mJgbowSINu2Hs54Hk7Ly1eCs,4809
|
|
41
|
+
jarvis/jarvis_rag/main.py,sha256=2pGyVx0EjJtTYL99oIeu16ZWKXe4V5JMPwxFrgp0vIc,71102
|
|
42
|
+
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
+
jarvis/jarvis_smart_shell/main.py,sha256=slP_8CwpfMjWFZis0At1ANRlPb3gx1KteAg1B7R7dl4,4546
|
|
44
|
+
jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
jarvis/jarvis_tools/ask_codebase.py,sha256=_UWUQo9gRSY2CVbXL_uLxYJCKVqBHjO2JIahiJJmpqo,10171
|
|
46
|
+
jarvis/jarvis_tools/ask_user.py,sha256=XbVSQ-yYGplLNw1d1s7LX54uoQCtmiqZjb7YMvijk-U,1668
|
|
47
|
+
jarvis/jarvis_tools/base.py,sha256=29-5giQMz9Bk3vkkYM7Y1uhHUEqgyDDjwluObqQE5gM,1164
|
|
48
|
+
jarvis/jarvis_tools/chdir.py,sha256=do_OdtabiH3lZcT_ynjSAX66XgH2gPl9mYiS7dMMDa8,2682
|
|
49
|
+
jarvis/jarvis_tools/code_review.py,sha256=4y3huuS_wetvuR2FBE4CZ2-KaCPWBM-e0JAVf8Up2QI,13503
|
|
50
|
+
jarvis/jarvis_tools/create_code_agent.py,sha256=ngzD1MKDNf14R1oWG1DYxJ0XYslTMZa2OIIr0Xqy8CA,4127
|
|
51
|
+
jarvis/jarvis_tools/create_sub_agent.py,sha256=wGiHukvi58wb1AKW5beP7R8VvApOn8TOeGmtXsmcETE,3001
|
|
52
|
+
jarvis/jarvis_tools/execute_python_script.py,sha256=O9ox48N9NfQkwpuNDX-c-OxqHZ0FXzofi1juQ015KD4,2012
|
|
53
|
+
jarvis/jarvis_tools/execute_shell.py,sha256=tvEPxexRI5YIyX6VHU4hKkJEOc_bdfhZ3A4kv9mQIhg,3427
|
|
54
|
+
jarvis/jarvis_tools/execute_shell_script.py,sha256=HIptXdCOobieWbTzCapZnkzHbeKWNEu3mfwBr1MWZQc,2009
|
|
55
|
+
jarvis/jarvis_tools/file_analyzer.py,sha256=xEkvxsMd6i-f9UqCiRwpicnrrViLRx1LNxs1603yfUM,9911
|
|
56
|
+
jarvis/jarvis_tools/file_operation.py,sha256=rpdVdB8c7Z0nLnbx9Sltk5XctXgwCryPJWrCgYLjp_8,6948
|
|
57
|
+
jarvis/jarvis_tools/find_caller.py,sha256=KjBZJ2uGTQ2mePitCL9RjwMwm1ZpGCzxfG1sYd3l--I,10174
|
|
58
|
+
jarvis/jarvis_tools/find_methodolopy.py,sha256=vNPqOyBE_hCBpMiciMWUBo0KuR6KuE6oOQgl2XsO0D8,2215
|
|
59
|
+
jarvis/jarvis_tools/find_symbol.py,sha256=S-SatPwH-LzclYM3f4sHpjFdknRUljSnffvu_8x5kco,10240
|
|
60
|
+
jarvis/jarvis_tools/function_analyzer.py,sha256=pX1Vl2zVso6IPXWh6fmjvakYRYsqop5pSAR6xunbHvY,12268
|
|
61
|
+
jarvis/jarvis_tools/git_commiter.py,sha256=oJT-09TxaQ1U9_kQPeAhvzQISTUKZVkQosrmBLvRcAg,6481
|
|
62
|
+
jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=njFHhL7qF31WC6SU2qjDUjfBHbRUWSGJCCuTf_9drDg,5303
|
|
63
|
+
jarvis/jarvis_tools/methodology.py,sha256=dPD7DsfDM6f3x19Qev4z7T_LC6I-8eIwqDIjIRllTRk,5189
|
|
64
|
+
jarvis/jarvis_tools/project_analyzer.py,sha256=uFo2GC4lr5KlEbdsjI3xPqpPbmo2LpJueDmnBqHXw0I,11010
|
|
65
|
+
jarvis/jarvis_tools/rag.py,sha256=SHFxbZCtWnmjPo09jdT3rn9Nofr3eSLh0douC3f5PoA,4822
|
|
66
|
+
jarvis/jarvis_tools/read_code.py,sha256=I-jU7IPD9Us4hArLpu2Yjo-uokoTUJafsceAsJHk2dE,6072
|
|
67
|
+
jarvis/jarvis_tools/read_webpage.py,sha256=q3IwcMYHPVkfnmlYJ1AXUzNjitqBm_HlXH5t9FoZEvs,9034
|
|
68
|
+
jarvis/jarvis_tools/registry.py,sha256=6pCyHSO0eaakfzvQZlx9m2rwFWowpjqUuoGS9gP5wrg,18948
|
|
69
|
+
jarvis/jarvis_tools/search_web.py,sha256=BB_8_LO2ReV-0yY5_zhizdWAqkNIbKBQOkG85H5rKrE,957
|
|
70
|
+
jarvis/jarvis_tools/tool_generator.py,sha256=0ENvezvcjJzbRRdmncS05GA3UOUW9DAoq_7Kaal51Bs,7602
|
|
71
|
+
jarvis/jarvis_utils/__init__.py,sha256=KMg-KY5rZIhGTeOD5e2Xo5CU7DX1DUz4ULWAaTQ-ZNw,825
|
|
72
|
+
jarvis/jarvis_utils/config.py,sha256=8pLdfzehcO2WVJKCBDxKX5-nRHZDmYNY1_WlnFXxQAo,4468
|
|
73
|
+
jarvis/jarvis_utils/embedding.py,sha256=XG8Uwzrvt1DRx0F3ssLu17IT2JoKeSZy19y6OLVP_es,18624
|
|
74
|
+
jarvis/jarvis_utils/git_utils.py,sha256=rAMXKlAYIvqF64iDFc_FDLxi5SMqEuKYH8GzC7RaZGY,4967
|
|
75
|
+
jarvis/jarvis_utils/globals.py,sha256=DaQ-lfLtK8bDyGVlR6jtkenkkgxQVsIkSZCZwklelzc,2769
|
|
76
|
+
jarvis/jarvis_utils/input.py,sha256=w_c3mefQ9A1BuJcTIZZfRAq2MckPUlGL60lxbk-NWkg,6633
|
|
77
|
+
jarvis/jarvis_utils/methodology.py,sha256=INrw_hvCvUX3Vyl1gFQpowTotmVF72A2xYkzrN37yWA,19534
|
|
78
|
+
jarvis/jarvis_utils/output.py,sha256=EUJQ1pnCj7PcD9-gXIXMFNrxAwyZBeUd8X-fNEJYJ1k,8443
|
|
79
|
+
jarvis/jarvis_utils/utils.py,sha256=8Bjb38TDhi-RkSZWF5Xn2NVIGzTb7Mvnxis4jcJARN8,4617
|
|
80
|
+
jarvis_ai_assistant-0.1.138.dist-info/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
81
|
+
jarvis_ai_assistant-0.1.138.dist-info/METADATA,sha256=nSO0YfBI1dLnxzlD6XMvL2rsNpVfoam9jUK0tfo6CBM,9955
|
|
82
|
+
jarvis_ai_assistant-0.1.138.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
83
|
+
jarvis_ai_assistant-0.1.138.dist-info/entry_points.txt,sha256=8sxkrMFX9M0lYwQDHk8UNq3YgvyPMsMwKoQBpGSeZ0s,954
|
|
84
|
+
jarvis_ai_assistant-0.1.138.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
85
|
+
jarvis_ai_assistant-0.1.138.dist-info/RECORD,,
|
{jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/entry_points.txt
RENAMED
|
@@ -6,7 +6,9 @@ jarvis-code-agent = jarvis.jarvis_code_agent.code_agent:main
|
|
|
6
6
|
jarvis-code-review = jarvis.jarvis_tools.code_review:main
|
|
7
7
|
jarvis-dev = jarvis.jarvis_dev.main:main
|
|
8
8
|
jarvis-git-commit = jarvis.jarvis_tools.git_commiter:main
|
|
9
|
+
jarvis-git-details = jarvis.jarvis_git_details.main:main
|
|
9
10
|
jarvis-git-squash = jarvis.jarvis_git_squash.main:main
|
|
11
|
+
jarvis-methodology = jarvis.jarvis_methodology.main:main
|
|
10
12
|
jarvis-multi-agent = jarvis.jarvis_multi_agent.main:main
|
|
11
13
|
jarvis-platform-manager = jarvis.jarvis_platform_manager.main:main
|
|
12
14
|
jarvis-rag = jarvis.jarvis_rag.main:main
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
from typing import Dict, Any
|
|
2
|
-
|
|
3
|
-
from jarvis.jarvis_code_agent.file_select import select_files
|
|
4
|
-
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class CodeFileSelecterTool:
|
|
8
|
-
name = "select_code_files"
|
|
9
|
-
description = "通过交互式文件选择工具选择和修改代码文件"
|
|
10
|
-
parameters = {
|
|
11
|
-
"type": "object",
|
|
12
|
-
"properties": {
|
|
13
|
-
"related_files": {
|
|
14
|
-
"type": "array",
|
|
15
|
-
"items": {
|
|
16
|
-
"type": "string",
|
|
17
|
-
},
|
|
18
|
-
"description": "初始相关的文件列表",
|
|
19
|
-
"default": []
|
|
20
|
-
},
|
|
21
|
-
"root_dir": {
|
|
22
|
-
"type": "string",
|
|
23
|
-
"description": "代码库的根目录",
|
|
24
|
-
"default": "."
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"required": ["related_files"]
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
def execute(self, args: Dict) -> Dict[str, Any]:
|
|
31
|
-
"""Execute interactive file selection"""
|
|
32
|
-
try:
|
|
33
|
-
related_files = args.get("related_files", [])
|
|
34
|
-
root_dir = args.get("root_dir", ".").strip()
|
|
35
|
-
|
|
36
|
-
PrettyOutput.print("开始交互式文件选择...", OutputType.INFO)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
# Use file_select module to handle file selection
|
|
40
|
-
selected_files = select_files(
|
|
41
|
-
related_files=related_files,
|
|
42
|
-
root_dir=root_dir
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
# Format output for display
|
|
46
|
-
output = "Selected files:\n"
|
|
47
|
-
for file in selected_files:
|
|
48
|
-
output += f"- {file}\n"
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
"success": True,
|
|
52
|
-
"stdout": output,
|
|
53
|
-
"stderr": ""
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
except Exception as e:
|
|
57
|
-
PrettyOutput.print(str(e), OutputType.ERROR)
|
|
58
|
-
return {
|
|
59
|
-
"success": False,
|
|
60
|
-
"stdout": "",
|
|
61
|
-
"stderr": str(e)
|
|
62
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=AZPaKHAAiIVhrj8Ywkmm6nEZg9UuKzoRnAPzd9Pt-aI,51
|
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=tDwxCItZd3oTZ6E8ORKZQUMbC15OMFo8Y1A59MH338o,18214
|
|
3
|
-
jarvis/jarvis_agent/builtin_input_handler.py,sha256=Bm4aVRrjrkjgpudest58X707wvhz_Z_ufTEPw0s4DEw,2414
|
|
4
|
-
jarvis/jarvis_agent/file_input_handler.py,sha256=55HwQGq3HWKmDSeJqJ0eOktoq-5Mbc5UpFqmSUrhxBY,3355
|
|
5
|
-
jarvis/jarvis_agent/jarvis.py,sha256=BopDK7WZFI-67M94Vq5tNni5d151R6KS9cMOPP9a_TE,5476
|
|
6
|
-
jarvis/jarvis_agent/main.py,sha256=TU-g-nA6wwOfo3Rh8LkFBBAZ-FMXjcfnQyETMyb9odI,2438
|
|
7
|
-
jarvis/jarvis_agent/output_handler.py,sha256=kJeFTjjSu0K_2p0wyhq2veSZuhRXoaFC_8wVaoBKX0w,401
|
|
8
|
-
jarvis/jarvis_agent/patch.py,sha256=iDlhEq8zV9tFYSVYoGyApRjbPvitY0voz9eOQlOHVH0,19333
|
|
9
|
-
jarvis/jarvis_agent/shell_input_handler.py,sha256=7NHmyEIPAk_UP5596hu1l3d1JwDUOO_FHC3JiRxY5PM,1018
|
|
10
|
-
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=WWzvfYLRNOElIt_AHyLRm6eD8jWwQkHm1Ry-VWqszFk,12374
|
|
12
|
-
jarvis/jarvis_code_agent/file_select.py,sha256=2nSy1FW-kK-wvtz0YbbgSbd4ZwXMlA7sBP0nC80FzLI,8160
|
|
13
|
-
jarvis/jarvis_dev/main.py,sha256=nJ7yEsy1tSnkJ1dWH4E1H4SkxqmEJAAf2TyjHT2mXqU,29384
|
|
14
|
-
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
jarvis/jarvis_git_squash/main.py,sha256=BWjC8A0M0od0EY2_mRGggSEBb-mFH2_AXNYd7n6b0wc,2192
|
|
16
|
-
jarvis/jarvis_lsp/base.py,sha256=Se3Nmy4KRSVDqJv29K5pu4mY949s_x9VqFRa--jcc98,2115
|
|
17
|
-
jarvis/jarvis_lsp/cpp.py,sha256=DpRHA8z_kJwu7GyDq01LtGmPOuqnxgHeD_eqRWHfgGU,3248
|
|
18
|
-
jarvis/jarvis_lsp/go.py,sha256=IrVhEeoDRo-zLIfcGeswu9n_2BxqP33uKFgGZstMI_c,3561
|
|
19
|
-
jarvis/jarvis_lsp/python.py,sha256=yGV3kQ3jyRk4-mO43Xt1b--MU3DeMPcfNmB5v0QAXxE,1892
|
|
20
|
-
jarvis/jarvis_lsp/registry.py,sha256=aSBq3M4HHQiCsEHsryqdjAd8TJ-ZnT4Qd6umd6dFwQ8,6634
|
|
21
|
-
jarvis/jarvis_lsp/rust.py,sha256=GdMbkdpxnrz3HJLUWhLRJWKrBLj7Xqo8HjnHfwPQ1aI,3797
|
|
22
|
-
jarvis/jarvis_multi_agent/__init__.py,sha256=knb_EfPFjT45GdpiGEPrW_ufpgHtnFcCMZvC_FUCQDU,4439
|
|
23
|
-
jarvis/jarvis_multi_agent/main.py,sha256=0PpogeEYkA0HAjlNj5vvVCaCybTsNpJ2M2fif-COAHo,1595
|
|
24
|
-
jarvis/jarvis_platform/__init__.py,sha256=mrOt67nselz_H1gX9wdAO4y2DY5WPXzABqJbr5Des8k,63
|
|
25
|
-
jarvis/jarvis_platform/ai8.py,sha256=vwssQx6Cw62uPykOrVkJbGYQKaj0fWeakPkUrryxtO4,10996
|
|
26
|
-
jarvis/jarvis_platform/base.py,sha256=7RM3gnV3XLOKyabj4ka0Q5c4_xDXo2rdPis2gQNEl-s,3113
|
|
27
|
-
jarvis/jarvis_platform/kimi.py,sha256=fEH0ThxFcB2gaA3IyOVzK7lH8NwbziRCsgP06zgFuQo,9975
|
|
28
|
-
jarvis/jarvis_platform/ollama.py,sha256=j0wnpjd3iD6M7M-KUjhcRL58zlIdz4gTPj1QHvbGarY,4992
|
|
29
|
-
jarvis/jarvis_platform/openai.py,sha256=n4kaGbJYHWXKQxx7oL8BYKfZ9zX_r6tw0ny6CCr9wMs,4302
|
|
30
|
-
jarvis/jarvis_platform/oyi.py,sha256=n-m6XoxYN47m0z7Eha4pskzoLGZPAkNfKFKlsVneWyU,11680
|
|
31
|
-
jarvis/jarvis_platform/registry.py,sha256=8KSlzjsfd4LhuOu22K63k2GJ0hKioeFJ-31M4GaytbQ,7835
|
|
32
|
-
jarvis/jarvis_platform/yuanbao.py,sha256=3VxwvXejWo8iEgfFKLrnnMWwQeQd6hhsrI03BC9oIbI,10799
|
|
33
|
-
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
jarvis/jarvis_platform_manager/main.py,sha256=iNeaGVXYJJUHo-euQRo7sMesQ2Y5EyNDCyx0koKyeiI,20949
|
|
35
|
-
jarvis/jarvis_platform_manager/openai_test.py,sha256=bkcVG6o2nNazj4zjkENgA4yOEzdTI9Qbm5dco-2MGYM,5190
|
|
36
|
-
jarvis/jarvis_rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
jarvis/jarvis_rag/file_processors.py,sha256=zxPuJ1n06uiAg44MJQZrzMuxcUwmVv5n5D97JEiyJTI,5013
|
|
38
|
-
jarvis/jarvis_rag/main.py,sha256=HH8IAWJ4mAVslqwzsdHvDSK-i8FpoFvMlCkAP8P2e_k,75523
|
|
39
|
-
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
jarvis/jarvis_smart_shell/main.py,sha256=5gyBKgxuaTrDToE7Xy4DhsJPDOEviPi7ktm1vOZoIno,4618
|
|
41
|
-
jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
-
jarvis/jarvis_tools/ask_codebase.py,sha256=FsAFMidLPx5M1CbmP8I9sRW1yU4_HVzAVnshs63Sk0c,10455
|
|
43
|
-
jarvis/jarvis_tools/ask_user.py,sha256=kU6BOhFz_mKfqABd0l_00TL7Mqp_dhV3r0qkKLy8yRM,1745
|
|
44
|
-
jarvis/jarvis_tools/base.py,sha256=8gIgIx9LJAKOxdpPu7zMDItWqwXmXVTWAGfUkpQonzw,1196
|
|
45
|
-
jarvis/jarvis_tools/chdir.py,sha256=GLbH2fOKESUn3XYhNg0uOI5axTO2csC0B9HUL0bMZ5U,2790
|
|
46
|
-
jarvis/jarvis_tools/code_review.py,sha256=GCqgYjgWbEyz_f8bTGH-mOxoIqWupBoPX382WJWCnKE,13633
|
|
47
|
-
jarvis/jarvis_tools/create_code_agent.py,sha256=2BSxbb-5e5sQNpPLlIy49UXqhf92UEMMvxmOiagMSVY,4319
|
|
48
|
-
jarvis/jarvis_tools/create_sub_agent.py,sha256=wGiHukvi58wb1AKW5beP7R8VvApOn8TOeGmtXsmcETE,3001
|
|
49
|
-
jarvis/jarvis_tools/execute_python_script.py,sha256=eQFbYwma8o7LaiZEJ0DQQEylEaHujgfJwyKuDxLLwPs,2056
|
|
50
|
-
jarvis/jarvis_tools/execute_shell.py,sha256=-TMoSH6dok1ozBwW66IGO_kR9DPbbDxPhkNBzCuOvBE,3540
|
|
51
|
-
jarvis/jarvis_tools/execute_shell_script.py,sha256=1126d2x6TGaJV5ZtJWZCHRjOQeQwLmWfUlvCWHbZW1o,2053
|
|
52
|
-
jarvis/jarvis_tools/file_analyzer.py,sha256=XLfEGh1f7Uffy1XXH9MVFFEEL0F7vAMT7_tvRK9n7qk,10164
|
|
53
|
-
jarvis/jarvis_tools/file_operation.py,sha256=AO6bBD-xkqOI71lPv3-KjCCR96TsOIYgGzgLWy6PhDg,7151
|
|
54
|
-
jarvis/jarvis_tools/find_caller.py,sha256=JXOiJiO48_SX6CzkuRMlbx9nTrs4DavJ-qSSh6Dueck,10386
|
|
55
|
-
jarvis/jarvis_tools/find_symbol.py,sha256=8SvW9fuf7ZUSnm0ewPVr1m0ievjrf55qoA2HTTD8HWw,10444
|
|
56
|
-
jarvis/jarvis_tools/function_analyzer.py,sha256=iSPVgNCfwz1GfukQ0kmsUjZ1AAYuL-XBuXN5or9vvLY,12489
|
|
57
|
-
jarvis/jarvis_tools/git_commiter.py,sha256=FQ_pSvy8hlTK2xos2y6rpLcRkoetWbLLpIBeaezfQtE,6602
|
|
58
|
-
jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=GVehn0V44m9eem3P87egqWOmDCu7W7k1Jewj-DkPZig,5551
|
|
59
|
-
jarvis/jarvis_tools/methodology.py,sha256=RhhLi71QrMqz2wY1AvbGWHHiE5gQavKpnX1t_Z_hSJ4,7065
|
|
60
|
-
jarvis/jarvis_tools/project_analyzer.py,sha256=KJUIbS2oDffeQjXn1Tq5BebAdu_3GhXsqhQO8dvw2FY,11497
|
|
61
|
-
jarvis/jarvis_tools/rag.py,sha256=KsXVoBMH3xaPG1C0Y1H7ZNL89hu7vXCPUW85cYlGwmM,4986
|
|
62
|
-
jarvis/jarvis_tools/read_code.py,sha256=dYSuBkXCW2kNFWOX-BOeEi5NzyOdCZ3DmML1LIkHYt4,6219
|
|
63
|
-
jarvis/jarvis_tools/read_webpage.py,sha256=9bRUzoTYwYk4PIc0GgW4T6QFfD7DYglekaotwDrP4ZA,9387
|
|
64
|
-
jarvis/jarvis_tools/registry.py,sha256=0SQOT8UZjNslW3qDNs5Nsr7p2BbC2-ilIsLjtri3nwk,18596
|
|
65
|
-
jarvis/jarvis_tools/search_web.py,sha256=BB_8_LO2ReV-0yY5_zhizdWAqkNIbKBQOkG85H5rKrE,957
|
|
66
|
-
jarvis/jarvis_tools/select_code_files.py,sha256=xCqHTjIGju9Pb1Yh2C1Y7l6uT_3pfVB6ARU0VQmeRNI,1879
|
|
67
|
-
jarvis/jarvis_tools/tool_generator.py,sha256=JjhdHtu58NeM4_qPvwKSuo6P1alsgck6C_DEv1a0xog,7748
|
|
68
|
-
jarvis/jarvis_utils/__init__.py,sha256=KMg-KY5rZIhGTeOD5e2Xo5CU7DX1DUz4ULWAaTQ-ZNw,825
|
|
69
|
-
jarvis/jarvis_utils/config.py,sha256=0kQyLAuyZ9dh7Yis9Bnb5coxzR_eVrI3WLBaBOJhSNw,4553
|
|
70
|
-
jarvis/jarvis_utils/embedding.py,sha256=4Y_kU3L5x5DGkDOigALvra-DSZLfJod-Aj8QdCyHFaI,19312
|
|
71
|
-
jarvis/jarvis_utils/git_utils.py,sha256=vKmnCcJ2VFM3aH3FqmLoAasSCM9-IgnGqX6i_gXTY3Q,5059
|
|
72
|
-
jarvis/jarvis_utils/globals.py,sha256=nvykWxBnqfAFqAIyJfxP5Y1yYIXIQXjippVE5i2Bubg,2269
|
|
73
|
-
jarvis/jarvis_utils/input.py,sha256=4ySHqNbk7diXqyrYn276GwYIrt6SOlV_RSqv5EW9QnI,6621
|
|
74
|
-
jarvis/jarvis_utils/methodology.py,sha256=eqF0hIRw8WBX9weFbx4i5kgrJQabFYVUKyp4-NWWwKk,20076
|
|
75
|
-
jarvis/jarvis_utils/output.py,sha256=6aqLk95bBpOFtGMjQv0XF-sfZcpgvkyKCh17XZgvLBk,8535
|
|
76
|
-
jarvis/jarvis_utils/utils.py,sha256=xXa0glsq60NgGptHWYedm6YdkVshLXhQ4-q6fWDVdVg,6514
|
|
77
|
-
jarvis_ai_assistant-0.1.134.dist-info/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
78
|
-
jarvis_ai_assistant-0.1.134.dist-info/METADATA,sha256=VuqA5gmt3YdfL_MB125hu4CEPGbz36kcwobzenh5TaM,9955
|
|
79
|
-
jarvis_ai_assistant-0.1.134.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
80
|
-
jarvis_ai_assistant-0.1.134.dist-info/entry_points.txt,sha256=wm_AVSmxKrjtf-OUBWPZm9W1ncGgFd0B1hgO2PpnMD4,840
|
|
81
|
-
jarvis_ai_assistant-0.1.134.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
82
|
-
jarvis_ai_assistant-0.1.134.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/top_level.txt
RENAMED
|
File without changes
|