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.

Files changed (78) hide show
  1. jarvis/__init__.py +1 -1
  2. jarvis/jarvis_agent/__init__.py +201 -79
  3. jarvis/jarvis_agent/builtin_input_handler.py +16 -6
  4. jarvis/jarvis_agent/file_input_handler.py +9 -9
  5. jarvis/jarvis_agent/jarvis.py +10 -10
  6. jarvis/jarvis_agent/main.py +12 -11
  7. jarvis/jarvis_agent/output_handler.py +3 -3
  8. jarvis/jarvis_agent/patch.py +86 -62
  9. jarvis/jarvis_agent/shell_input_handler.py +5 -3
  10. jarvis/jarvis_code_agent/code_agent.py +134 -99
  11. jarvis/jarvis_code_agent/file_select.py +24 -24
  12. jarvis/jarvis_dev/main.py +45 -51
  13. jarvis/jarvis_git_details/__init__.py +0 -0
  14. jarvis/jarvis_git_details/main.py +179 -0
  15. jarvis/jarvis_git_squash/main.py +7 -7
  16. jarvis/jarvis_lsp/base.py +11 -11
  17. jarvis/jarvis_lsp/cpp.py +14 -14
  18. jarvis/jarvis_lsp/go.py +13 -13
  19. jarvis/jarvis_lsp/python.py +8 -8
  20. jarvis/jarvis_lsp/registry.py +21 -21
  21. jarvis/jarvis_lsp/rust.py +15 -15
  22. jarvis/jarvis_methodology/main.py +101 -0
  23. jarvis/jarvis_multi_agent/__init__.py +11 -11
  24. jarvis/jarvis_multi_agent/main.py +6 -6
  25. jarvis/jarvis_platform/__init__.py +1 -1
  26. jarvis/jarvis_platform/ai8.py +67 -89
  27. jarvis/jarvis_platform/base.py +14 -13
  28. jarvis/jarvis_platform/kimi.py +25 -28
  29. jarvis/jarvis_platform/ollama.py +24 -26
  30. jarvis/jarvis_platform/openai.py +15 -19
  31. jarvis/jarvis_platform/oyi.py +48 -50
  32. jarvis/jarvis_platform/registry.py +27 -28
  33. jarvis/jarvis_platform/yuanbao.py +38 -42
  34. jarvis/jarvis_platform_manager/main.py +81 -81
  35. jarvis/jarvis_platform_manager/openai_test.py +21 -21
  36. jarvis/jarvis_rag/file_processors.py +18 -18
  37. jarvis/jarvis_rag/main.py +261 -277
  38. jarvis/jarvis_smart_shell/main.py +12 -12
  39. jarvis/jarvis_tools/ask_codebase.py +28 -28
  40. jarvis/jarvis_tools/ask_user.py +8 -8
  41. jarvis/jarvis_tools/base.py +4 -4
  42. jarvis/jarvis_tools/chdir.py +9 -9
  43. jarvis/jarvis_tools/code_review.py +19 -19
  44. jarvis/jarvis_tools/create_code_agent.py +15 -15
  45. jarvis/jarvis_tools/execute_python_script.py +3 -3
  46. jarvis/jarvis_tools/execute_shell.py +11 -11
  47. jarvis/jarvis_tools/execute_shell_script.py +3 -3
  48. jarvis/jarvis_tools/file_analyzer.py +29 -29
  49. jarvis/jarvis_tools/file_operation.py +22 -20
  50. jarvis/jarvis_tools/find_caller.py +25 -25
  51. jarvis/jarvis_tools/find_methodolopy.py +65 -0
  52. jarvis/jarvis_tools/find_symbol.py +24 -24
  53. jarvis/jarvis_tools/function_analyzer.py +27 -27
  54. jarvis/jarvis_tools/git_commiter.py +9 -9
  55. jarvis/jarvis_tools/lsp_get_diagnostics.py +19 -19
  56. jarvis/jarvis_tools/methodology.py +23 -62
  57. jarvis/jarvis_tools/project_analyzer.py +29 -33
  58. jarvis/jarvis_tools/rag.py +15 -15
  59. jarvis/jarvis_tools/read_code.py +24 -22
  60. jarvis/jarvis_tools/read_webpage.py +31 -31
  61. jarvis/jarvis_tools/registry.py +72 -52
  62. jarvis/jarvis_tools/tool_generator.py +18 -18
  63. jarvis/jarvis_utils/config.py +23 -23
  64. jarvis/jarvis_utils/embedding.py +83 -83
  65. jarvis/jarvis_utils/git_utils.py +20 -20
  66. jarvis/jarvis_utils/globals.py +18 -6
  67. jarvis/jarvis_utils/input.py +10 -9
  68. jarvis/jarvis_utils/methodology.py +140 -136
  69. jarvis/jarvis_utils/output.py +11 -11
  70. jarvis/jarvis_utils/utils.py +22 -70
  71. {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/METADATA +1 -1
  72. jarvis_ai_assistant-0.1.138.dist-info/RECORD +85 -0
  73. {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/entry_points.txt +2 -0
  74. jarvis/jarvis_tools/select_code_files.py +0 -62
  75. jarvis_ai_assistant-0.1.134.dist-info/RECORD +0 -82
  76. {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/LICENSE +0 -0
  77. {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/WHEEL +0 -0
  78. {jarvis_ai_assistant-0.1.134.dist-info → jarvis_ai_assistant-0.1.138.dist-info}/top_level.txt +0 -0
@@ -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
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.134
3
+ Version: 0.1.138
4
4
  Summary: Jarvis: An AI assistant that uses tools to interact with the system
5
5
  Home-page: https://github.com/skyfireitdiy/Jarvis
6
6
  Author: skyfire
@@ -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,,
@@ -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,,