jarvis-ai-assistant 0.7.0__py3-none-any.whl → 0.7.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. jarvis/__init__.py +1 -1
  2. jarvis/jarvis_agent/__init__.py +243 -139
  3. jarvis/jarvis_agent/agent_manager.py +5 -10
  4. jarvis/jarvis_agent/builtin_input_handler.py +2 -6
  5. jarvis/jarvis_agent/config_editor.py +2 -7
  6. jarvis/jarvis_agent/event_bus.py +82 -12
  7. jarvis/jarvis_agent/file_context_handler.py +265 -15
  8. jarvis/jarvis_agent/file_methodology_manager.py +3 -4
  9. jarvis/jarvis_agent/jarvis.py +113 -98
  10. jarvis/jarvis_agent/language_extractors/__init__.py +57 -0
  11. jarvis/jarvis_agent/language_extractors/c_extractor.py +21 -0
  12. jarvis/jarvis_agent/language_extractors/cpp_extractor.py +21 -0
  13. jarvis/jarvis_agent/language_extractors/go_extractor.py +21 -0
  14. jarvis/jarvis_agent/language_extractors/java_extractor.py +84 -0
  15. jarvis/jarvis_agent/language_extractors/javascript_extractor.py +79 -0
  16. jarvis/jarvis_agent/language_extractors/python_extractor.py +21 -0
  17. jarvis/jarvis_agent/language_extractors/rust_extractor.py +21 -0
  18. jarvis/jarvis_agent/language_extractors/typescript_extractor.py +84 -0
  19. jarvis/jarvis_agent/language_support_info.py +486 -0
  20. jarvis/jarvis_agent/main.py +6 -12
  21. jarvis/jarvis_agent/memory_manager.py +7 -16
  22. jarvis/jarvis_agent/methodology_share_manager.py +10 -16
  23. jarvis/jarvis_agent/prompt_manager.py +1 -1
  24. jarvis/jarvis_agent/prompts.py +193 -171
  25. jarvis/jarvis_agent/protocols.py +8 -12
  26. jarvis/jarvis_agent/run_loop.py +77 -14
  27. jarvis/jarvis_agent/session_manager.py +2 -3
  28. jarvis/jarvis_agent/share_manager.py +12 -21
  29. jarvis/jarvis_agent/shell_input_handler.py +1 -2
  30. jarvis/jarvis_agent/task_analyzer.py +26 -4
  31. jarvis/jarvis_agent/task_manager.py +11 -27
  32. jarvis/jarvis_agent/tool_executor.py +2 -3
  33. jarvis/jarvis_agent/tool_share_manager.py +12 -24
  34. jarvis/jarvis_agent/web_server.py +55 -20
  35. jarvis/jarvis_c2rust/__init__.py +5 -5
  36. jarvis/jarvis_c2rust/cli.py +461 -499
  37. jarvis/jarvis_c2rust/collector.py +45 -53
  38. jarvis/jarvis_c2rust/constants.py +26 -0
  39. jarvis/jarvis_c2rust/library_replacer.py +264 -132
  40. jarvis/jarvis_c2rust/llm_module_agent.py +162 -190
  41. jarvis/jarvis_c2rust/loaders.py +207 -0
  42. jarvis/jarvis_c2rust/models.py +28 -0
  43. jarvis/jarvis_c2rust/optimizer.py +1592 -395
  44. jarvis/jarvis_c2rust/transpiler.py +1722 -1064
  45. jarvis/jarvis_c2rust/utils.py +385 -0
  46. jarvis/jarvis_code_agent/build_validation_config.py +2 -3
  47. jarvis/jarvis_code_agent/code_agent.py +394 -320
  48. jarvis/jarvis_code_agent/code_analyzer/__init__.py +3 -0
  49. jarvis/jarvis_code_agent/code_analyzer/build_validator/base.py +4 -0
  50. jarvis/jarvis_code_agent/code_analyzer/build_validator/cmake.py +17 -2
  51. jarvis/jarvis_code_agent/code_analyzer/build_validator/fallback.py +3 -0
  52. jarvis/jarvis_code_agent/code_analyzer/build_validator/go.py +36 -4
  53. jarvis/jarvis_code_agent/code_analyzer/build_validator/java_gradle.py +9 -0
  54. jarvis/jarvis_code_agent/code_analyzer/build_validator/java_maven.py +9 -0
  55. jarvis/jarvis_code_agent/code_analyzer/build_validator/makefile.py +12 -1
  56. jarvis/jarvis_code_agent/code_analyzer/build_validator/nodejs.py +22 -5
  57. jarvis/jarvis_code_agent/code_analyzer/build_validator/python.py +57 -32
  58. jarvis/jarvis_code_agent/code_analyzer/build_validator/rust.py +62 -6
  59. jarvis/jarvis_code_agent/code_analyzer/build_validator/validator.py +8 -9
  60. jarvis/jarvis_code_agent/code_analyzer/context_manager.py +290 -5
  61. jarvis/jarvis_code_agent/code_analyzer/language_support.py +21 -0
  62. jarvis/jarvis_code_agent/code_analyzer/languages/__init__.py +21 -3
  63. jarvis/jarvis_code_agent/code_analyzer/languages/c_cpp_language.py +72 -4
  64. jarvis/jarvis_code_agent/code_analyzer/languages/go_language.py +35 -3
  65. jarvis/jarvis_code_agent/code_analyzer/languages/java_language.py +212 -0
  66. jarvis/jarvis_code_agent/code_analyzer/languages/javascript_language.py +254 -0
  67. jarvis/jarvis_code_agent/code_analyzer/languages/python_language.py +52 -2
  68. jarvis/jarvis_code_agent/code_analyzer/languages/rust_language.py +73 -1
  69. jarvis/jarvis_code_agent/code_analyzer/languages/typescript_language.py +280 -0
  70. jarvis/jarvis_code_agent/code_analyzer/llm_context_recommender.py +306 -152
  71. jarvis/jarvis_code_agent/code_analyzer/structured_code.py +556 -0
  72. jarvis/jarvis_code_agent/code_analyzer/symbol_extractor.py +193 -18
  73. jarvis/jarvis_code_agent/code_analyzer/tree_sitter_extractor.py +18 -8
  74. jarvis/jarvis_code_agent/lint.py +258 -27
  75. jarvis/jarvis_code_agent/utils.py +0 -1
  76. jarvis/jarvis_code_analysis/code_review.py +19 -24
  77. jarvis/jarvis_data/config_schema.json +53 -26
  78. jarvis/jarvis_git_squash/main.py +4 -5
  79. jarvis/jarvis_git_utils/git_commiter.py +44 -49
  80. jarvis/jarvis_mcp/sse_mcp_client.py +20 -27
  81. jarvis/jarvis_mcp/stdio_mcp_client.py +11 -12
  82. jarvis/jarvis_mcp/streamable_mcp_client.py +15 -14
  83. jarvis/jarvis_memory_organizer/memory_organizer.py +55 -74
  84. jarvis/jarvis_methodology/main.py +32 -48
  85. jarvis/jarvis_multi_agent/__init__.py +79 -61
  86. jarvis/jarvis_multi_agent/main.py +3 -7
  87. jarvis/jarvis_platform/base.py +469 -199
  88. jarvis/jarvis_platform/human.py +7 -8
  89. jarvis/jarvis_platform/kimi.py +30 -36
  90. jarvis/jarvis_platform/openai.py +65 -27
  91. jarvis/jarvis_platform/registry.py +26 -10
  92. jarvis/jarvis_platform/tongyi.py +24 -25
  93. jarvis/jarvis_platform/yuanbao.py +31 -42
  94. jarvis/jarvis_platform_manager/main.py +66 -77
  95. jarvis/jarvis_platform_manager/service.py +8 -13
  96. jarvis/jarvis_rag/cli.py +49 -51
  97. jarvis/jarvis_rag/embedding_manager.py +13 -18
  98. jarvis/jarvis_rag/llm_interface.py +8 -9
  99. jarvis/jarvis_rag/query_rewriter.py +10 -21
  100. jarvis/jarvis_rag/rag_pipeline.py +24 -27
  101. jarvis/jarvis_rag/reranker.py +4 -5
  102. jarvis/jarvis_rag/retriever.py +28 -30
  103. jarvis/jarvis_sec/__init__.py +220 -3520
  104. jarvis/jarvis_sec/agents.py +143 -0
  105. jarvis/jarvis_sec/analysis.py +276 -0
  106. jarvis/jarvis_sec/cli.py +29 -6
  107. jarvis/jarvis_sec/clustering.py +1439 -0
  108. jarvis/jarvis_sec/file_manager.py +427 -0
  109. jarvis/jarvis_sec/parsers.py +73 -0
  110. jarvis/jarvis_sec/prompts.py +268 -0
  111. jarvis/jarvis_sec/report.py +83 -4
  112. jarvis/jarvis_sec/review.py +453 -0
  113. jarvis/jarvis_sec/utils.py +499 -0
  114. jarvis/jarvis_sec/verification.py +848 -0
  115. jarvis/jarvis_sec/workflow.py +7 -0
  116. jarvis/jarvis_smart_shell/main.py +38 -87
  117. jarvis/jarvis_stats/cli.py +1 -1
  118. jarvis/jarvis_stats/stats.py +7 -7
  119. jarvis/jarvis_stats/storage.py +15 -21
  120. jarvis/jarvis_tools/clear_memory.py +3 -20
  121. jarvis/jarvis_tools/cli/main.py +20 -23
  122. jarvis/jarvis_tools/edit_file.py +1066 -0
  123. jarvis/jarvis_tools/execute_script.py +42 -21
  124. jarvis/jarvis_tools/file_analyzer.py +6 -9
  125. jarvis/jarvis_tools/generate_new_tool.py +11 -20
  126. jarvis/jarvis_tools/lsp_client.py +1552 -0
  127. jarvis/jarvis_tools/methodology.py +2 -3
  128. jarvis/jarvis_tools/read_code.py +1525 -87
  129. jarvis/jarvis_tools/read_symbols.py +2 -3
  130. jarvis/jarvis_tools/read_webpage.py +7 -10
  131. jarvis/jarvis_tools/registry.py +370 -181
  132. jarvis/jarvis_tools/retrieve_memory.py +20 -19
  133. jarvis/jarvis_tools/rewrite_file.py +105 -0
  134. jarvis/jarvis_tools/save_memory.py +3 -15
  135. jarvis/jarvis_tools/search_web.py +3 -7
  136. jarvis/jarvis_tools/sub_agent.py +17 -6
  137. jarvis/jarvis_tools/sub_code_agent.py +14 -16
  138. jarvis/jarvis_tools/virtual_tty.py +54 -32
  139. jarvis/jarvis_utils/clipboard.py +7 -10
  140. jarvis/jarvis_utils/config.py +98 -63
  141. jarvis/jarvis_utils/embedding.py +5 -5
  142. jarvis/jarvis_utils/fzf.py +8 -8
  143. jarvis/jarvis_utils/git_utils.py +81 -67
  144. jarvis/jarvis_utils/input.py +24 -49
  145. jarvis/jarvis_utils/jsonnet_compat.py +465 -0
  146. jarvis/jarvis_utils/methodology.py +33 -35
  147. jarvis/jarvis_utils/utils.py +245 -202
  148. {jarvis_ai_assistant-0.7.0.dist-info → jarvis_ai_assistant-0.7.6.dist-info}/METADATA +205 -70
  149. jarvis_ai_assistant-0.7.6.dist-info/RECORD +218 -0
  150. jarvis/jarvis_agent/edit_file_handler.py +0 -584
  151. jarvis/jarvis_agent/rewrite_file_handler.py +0 -141
  152. jarvis/jarvis_agent/task_planner.py +0 -496
  153. jarvis/jarvis_platform/ai8.py +0 -332
  154. jarvis/jarvis_tools/ask_user.py +0 -54
  155. jarvis_ai_assistant-0.7.0.dist-info/RECORD +0 -192
  156. {jarvis_ai_assistant-0.7.0.dist-info → jarvis_ai_assistant-0.7.6.dist-info}/WHEEL +0 -0
  157. {jarvis_ai_assistant-0.7.0.dist-info → jarvis_ai_assistant-0.7.6.dist-info}/entry_points.txt +0 -0
  158. {jarvis_ai_assistant-0.7.0.dist-info → jarvis_ai_assistant-0.7.6.dist-info}/licenses/LICENSE +0 -0
  159. {jarvis_ai_assistant-0.7.0.dist-info → jarvis_ai_assistant-0.7.6.dist-info}/top_level.txt +0 -0
@@ -1,332 +0,0 @@
1
- import os
2
- from typing import Any, Dict, Generator, List, Tuple
3
-
4
- from jarvis.jarvis_platform.base import BasePlatform
5
- import json
6
-
7
- from jarvis.jarvis_utils import http
8
- from jarvis.jarvis_utils.output import OutputType, PrettyOutput
9
- from jarvis.jarvis_utils.utils import while_success
10
-
11
-
12
- class AI8Model(BasePlatform):
13
- """AI8 model implementation"""
14
-
15
- BASE_URL = "https://ai8.rcouyi.com"
16
-
17
- def get_model_list(self) -> List[Tuple[str, str]]:
18
- """获取模型列表"""
19
- self.get_available_models()
20
- return [(name, info["desc"]) for name, info in self.models.items()]
21
-
22
- def __init__(self):
23
- """Initialize model"""
24
- super().__init__()
25
- self.system_prompt = ""
26
- self.conversation = {}
27
- self.models = {} # 存储模型信息
28
-
29
- self.token = os.getenv("AI8_API_KEY")
30
- if not self.token:
31
- PrettyOutput.print("未设置 AI8_API_KEY", OutputType.WARNING)
32
-
33
- self.headers = {
34
- "Authorization": self.token,
35
- "sec-ch-ua-platform": '"Windows"',
36
- "sec-ch-ua": '"Not)A;Brand";v="8", "Chromium";v="138", "Google Chrome";v="138"',
37
- "sec-ch-ua-mobile": "?0",
38
- "Content-Type": "application/json",
39
- "Accept": "application/json, text/plain, */*",
40
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
41
- "X-APP-VERSION": "2.4.2",
42
- "Origin": self.BASE_URL,
43
- "Referer": f"{self.BASE_URL}/chat?_userMenuKey=chat",
44
- "Sec-Fetch-Site": "same-origin",
45
- "Sec-Fetch-Mode": "cors",
46
- "Sec-Fetch-Dest": "empty",
47
- "Accept-Language": "zh-CN,zh;q=0.9",
48
- "Accept-Encoding": "gzip, deflate, br, zstd",
49
- "Connection": "keep-alive",
50
- }
51
-
52
- self.model_name = os.getenv("JARVIS_MODEL") or "deepseek-chat"
53
-
54
- def set_model_name(self, model_name: str):
55
- """Set model name"""
56
-
57
- self.model_name = model_name
58
-
59
- def create_conversation(self) -> bool:
60
- """Create a new conversation"""
61
- try:
62
- # 1. 创建会话
63
- response = while_success(
64
- lambda: http.post(
65
- f"{self.BASE_URL}/api/chat/session",
66
- headers=self.headers,
67
- json={
68
- "mcp": [],
69
- "model": self.model_name,
70
- "plugins": [],
71
- "rags": [],
72
- },
73
- ),
74
- sleep_time=5,
75
- )
76
-
77
- data = response.json()
78
- if data["code"] != 0:
79
- PrettyOutput.print(
80
- f"创建会话失败: {data.get('msg', '未知错误')}", OutputType.WARNING
81
- )
82
- return False
83
-
84
- self.conversation = data["data"]
85
-
86
- # 2. 更新会话设置
87
- session_data = {
88
- **self.conversation,
89
- "model": self.model_name,
90
- "contextCount": 65536,
91
- "prompt": self.system_prompt,
92
- "plugins": [],
93
- "localPlugins": None,
94
- "useAppId": 0,
95
- "temperature": 0,
96
- }
97
-
98
- response = while_success(
99
- lambda: http.put(
100
- f"{self.BASE_URL}/api/chat/session/{self.conversation['id']}", # type: ignore
101
- headers=self.headers,
102
- json=session_data,
103
- ),
104
- sleep_time=5,
105
- )
106
-
107
- data = response.json()
108
- if data["code"] == 0:
109
- self.conversation = data["data"]
110
- return True
111
- else:
112
- PrettyOutput.print(
113
- f"更新会话设置失败: {data.get('msg', '未知错误')}",
114
- OutputType.WARNING,
115
- )
116
- return False
117
-
118
- except Exception as e:
119
- PrettyOutput.print(f"创建会话失败: {str(e)}", OutputType.ERROR)
120
- return False
121
-
122
- def set_system_prompt(self, message: str):
123
- """Set system message"""
124
- self.system_prompt = message
125
-
126
- def chat(self, message: str) -> Generator[str, None, None]:
127
- """Execute conversation"""
128
- try:
129
- # 确保有会话ID
130
- if not self.conversation:
131
- if not self.create_conversation():
132
- raise Exception("Failed to create conversation")
133
-
134
- payload: Dict[str, Any] = {
135
- "text": message,
136
- "sessionId": self.conversation["id"] if self.conversation else None,
137
- "files": [],
138
- }
139
-
140
- # 为流式请求构造专用的请求头,避免 'Accept' 和 'accept' 键冲突
141
- stream_headers = self.headers.copy()
142
- stream_headers["Accept"] = "text/event-stream" # 添加流式专用的accept头
143
-
144
- # 使用stream_post进行流式请求
145
- response_stream = while_success(
146
- lambda: http.stream_post(
147
- f"{self.BASE_URL}/api/chat/completions",
148
- headers=stream_headers,
149
- json=payload,
150
- ),
151
- sleep_time=5,
152
- )
153
-
154
- # 处理流式响应
155
- for line in response_stream:
156
- if line and line.startswith("data: "):
157
- try:
158
- data = json.loads(line[6:])
159
- if data.get("type") == "string":
160
- chunk_data = data.get("data", "")
161
- if chunk_data:
162
- yield chunk_data
163
- except json.JSONDecodeError:
164
- continue
165
-
166
- return None
167
-
168
- except Exception as e:
169
- PrettyOutput.print(f"对话异常: {str(e)}", OutputType.ERROR)
170
- raise e
171
-
172
- def name(self) -> str:
173
- """Return model name"""
174
- return self.model_name
175
-
176
- @classmethod
177
- def platform_name(cls) -> str:
178
- """Return platform name"""
179
- return "ai8"
180
-
181
- def delete_chat(self) -> bool:
182
- """Delete current chat session"""
183
- try:
184
- if not self.conversation:
185
- return True
186
-
187
- response = while_success(
188
- lambda: http.delete(
189
- f"{self.BASE_URL}/api/chat/session/{self.conversation['id']}", # type: ignore
190
- headers=self.headers,
191
- ),
192
- sleep_time=5,
193
- )
194
-
195
- data = response.json()
196
- if data["code"] == 0:
197
- self.conversation = {}
198
- return True
199
- else:
200
- error_msg = f"删除会话失败: {data.get('msg', '未知错误')}"
201
- PrettyOutput.print(error_msg, OutputType.WARNING)
202
- return False
203
-
204
- except Exception as e:
205
- PrettyOutput.print(f"删除会话失败: {str(e)}", OutputType.ERROR)
206
- return False
207
-
208
- def save(self, file_path: str) -> bool:
209
- """Save chat session to a file."""
210
- if not self.conversation:
211
- PrettyOutput.print("没有活动的会话可供保存", OutputType.WARNING)
212
- return False
213
-
214
- state = {
215
- "conversation": self.conversation,
216
- "model_name": self.model_name,
217
- "system_prompt": self.system_prompt,
218
- }
219
-
220
- try:
221
- with open(file_path, "w", encoding="utf-8") as f:
222
- json.dump(state, f, ensure_ascii=False, indent=4)
223
- self._saved = True
224
- PrettyOutput.print(f"会话已成功保存到 {file_path}", OutputType.SUCCESS)
225
- return True
226
- except Exception as e:
227
- PrettyOutput.print(f"保存会话失败: {str(e)}", OutputType.ERROR)
228
- return False
229
-
230
- def restore(self, file_path: str) -> bool:
231
- """Restore chat session from a file."""
232
- try:
233
- with open(file_path, "r", encoding="utf-8") as f:
234
- state = json.load(f)
235
-
236
- self.conversation = state["conversation"]
237
- self.model_name = state["model_name"]
238
- self.system_prompt = state.get("system_prompt", "")
239
-
240
- # A restored session should not be deleted on exit, as it's persistent.
241
- self._saved = True
242
-
243
- PrettyOutput.print(f"从 {file_path} 成功恢复会话", OutputType.SUCCESS)
244
- return True
245
- except FileNotFoundError:
246
- PrettyOutput.print(f"会话文件未找到: {file_path}", OutputType.ERROR)
247
- return False
248
- except KeyError as e:
249
- PrettyOutput.print(
250
- f"恢复失败: 会话文件格式不正确,缺少键 {e}", OutputType.ERROR
251
- )
252
- return False
253
- except Exception as e:
254
- PrettyOutput.print(f"恢复会话失败: {str(e)}", OutputType.ERROR)
255
- return False
256
-
257
- def get_available_models(self) -> List[str]:
258
- """Get available model list
259
-
260
- Returns:
261
- List[str]: Available model name list
262
- """
263
- try:
264
- if self.models:
265
- return list(self.models.keys())
266
-
267
- response = while_success(
268
- lambda: http.get(
269
- f"{self.BASE_URL}/api/chat/tmpl", headers=self.headers
270
- ),
271
- sleep_time=5,
272
- )
273
-
274
- data = response.json()
275
- if data["code"] != 0:
276
- PrettyOutput.print(
277
- f"获取模型列表失败: {data.get('msg', '未知错误')}",
278
- OutputType.WARNING,
279
- )
280
- return []
281
-
282
- # 保存模型信息
283
- self.models = {model["value"]: model for model in data["data"]["models"]}
284
-
285
- for model in self.models.values():
286
- # 添加标签
287
- model_str = f"{model['label']}"
288
-
289
- # 添加特性标记
290
- features = []
291
- if model["attr"].get("multimodal"):
292
- features.append("Multimodal")
293
- if model["attr"].get("plugin"):
294
- features.append("Plugin support")
295
- if model["attr"].get("onlyImg"):
296
- features.append("Image support")
297
- if model["attr"].get("tag"):
298
- features.append(model["attr"]["tag"])
299
- if model["attr"].get("integral"):
300
- features.append(model["attr"]["integral"])
301
- # 添加备注
302
- if model["attr"].get("note"):
303
- model_str += f" - {model['attr']['note']}"
304
- if features:
305
- model_str += f" [{'|'.join(features)}]"
306
-
307
- model["desc"] = model_str
308
-
309
- return list(self.models.keys())
310
-
311
- except Exception as e:
312
- PrettyOutput.print(f"获取模型列表失败: {str(e)}", OutputType.ERROR)
313
- return []
314
-
315
- def support_upload_files(self) -> bool:
316
- return False
317
-
318
- def support_web(self) -> bool:
319
- return False
320
-
321
- def upload_files(self, file_list: List[str]) -> bool:
322
- return False
323
-
324
- @classmethod
325
- def get_required_env_keys(cls) -> List[str]:
326
- """
327
- 获取AI8平台所需的环境变量键列表
328
-
329
- 返回:
330
- List[str]: 环境变量键的列表
331
- """
332
- return ["AI8_API_KEY"]
@@ -1,54 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # 导入所需的类型注解模块
3
- from typing import Any, Dict
4
-
5
- # 导入多行输入工具和输出工具
6
- from jarvis.jarvis_utils.output import OutputType, PrettyOutput
7
-
8
-
9
- # 定义AskUserTool类,用于向用户提问
10
- class AskUserTool:
11
- name = "ask_user"
12
- description = """当完成任务所需的信息缺失或关键决策信息不足时,向用户提问。用户可以输入多行文本,以空行结束。使用场景:1. 需要用户提供更多信息以完成任务;2. 需要用户做出关键决策;3. 需要用户确认重要操作;4. 需要用户提供额外信息"""
13
- # 定义参数结构,指定必须包含的问题字段
14
- parameters = {
15
- "type": "object",
16
- "properties": {
17
- "question": {"type": "string", "description": "要向用户提出的问题"}
18
- },
19
- "required": ["question"],
20
- }
21
-
22
- def execute(self, args: Dict[str, Any]) -> Dict[str, Any]:
23
- """执行向用户提问的操作
24
-
25
- Args:
26
- args: 一个包含问题的字典
27
-
28
- Returns:
29
- Dict: 一个包含用户响应的字典
30
- """
31
- try:
32
- # 从参数中获取问题
33
- question = args["question"]
34
-
35
- # 获取agent对象并重置工具调用计数
36
- agent = args["agent"]
37
- agent.set_run_input_handlers_next_turn(True)
38
-
39
- # 显示问题给用户
40
- PrettyOutput.print(f"问题: {question}", OutputType.SYSTEM)
41
-
42
- # 获取用户输入
43
- user_response = agent.multiline_inputer("请输入您的答案 (输入空行结束)")
44
-
45
- # 返回成功响应,包含用户输入的内容
46
- return {"success": True, "stdout": user_response, "stderr": ""}
47
-
48
- except Exception as e:
49
- # 如果发生异常,返回失败响应,包含错误信息
50
- return {
51
- "success": False,
52
- "stdout": "",
53
- "stderr": f"Failed to ask user: {str(e)}",
54
- }
@@ -1,192 +0,0 @@
1
- jarvis/__init__.py,sha256=i25VhgQauKHFtFyLmGHzXf9gg5c6vABnwim5a7JBA0I,73
2
- jarvis/jarvis_agent/__init__.py,sha256=MBMYL32CqwxLIf0mbp1qNKK_yvocxZ9cCrT8gBBMnNs,58947
3
- jarvis/jarvis_agent/agent_manager.py,sha256=Tke5eFugTCBCdMSUXMCikiQcGXCl-AjdmYIzap-vSfI,3621
4
- jarvis/jarvis_agent/builtin_input_handler.py,sha256=wS-FqpT3pIXwHn1dfL3SpXonUKWgVThbQueUIeyRc2U,2917
5
- jarvis/jarvis_agent/config_editor.py,sha256=hlb9EYxKWcR_qdW2O89CgNDdciR9Isi743JU_1gD8j4,1927
6
- jarvis/jarvis_agent/edit_file_handler.py,sha256=C-g-BCU3CR5zxv7wpdMDGNPWgVDirWuLgDroACHgHb4,26460
7
- jarvis/jarvis_agent/event_bus.py,sha256=wNMX8oseyVd2q40-M-VBrQo2Gbfw9yVmqJw8haLSCho,1513
8
- jarvis/jarvis_agent/events.py,sha256=rmFQ37PasImCh7OCdCzNBvubk-kHwcUiYLgzmL0t0_4,3689
9
- jarvis/jarvis_agent/file_context_handler.py,sha256=98PmZuHi-EBJx17vjtN8azqsd7WrvCfqlfydXoQAz5I,2599
10
- jarvis/jarvis_agent/file_methodology_manager.py,sha256=LnhgTx5xQXCBK8esjCkFbgFm9iEyFX7TryUlC40Kzpw,4428
11
- jarvis/jarvis_agent/jarvis.py,sha256=XUOuXEY2jM5LRAfstO1LiwFtrx0tDC3cEQNroZs6j5M,50179
12
- jarvis/jarvis_agent/main.py,sha256=IgS7d3rng2vFlu983OUeCkOAosKjFAn1sFCk3gT9J9Q,4563
13
- jarvis/jarvis_agent/memory_manager.py,sha256=WSyUffx9xTmkcj4QrSLEfsjI3sTMUwZmkkC9_N_gTjo,8042
14
- jarvis/jarvis_agent/methodology_share_manager.py,sha256=AB_J9BwRgaeENQfL6bH83FOLeLrgHhppMb7psJNevKs,6874
15
- jarvis/jarvis_agent/output_handler.py,sha256=P7oWpXBGFfOsWq7cIhS_z9crkQ19ES7qU5pM92KKjAs,1172
16
- jarvis/jarvis_agent/prompt_builder.py,sha256=PH1fPDVa8z_RXkoXHJFNDf8PQjUoLNLYwkh2lC__p40,1705
17
- jarvis/jarvis_agent/prompt_manager.py,sha256=_1qLBSA3yn4nT_N3X2npTpW40Cp-pMeyvnzu-pnG0iU,2720
18
- jarvis/jarvis_agent/prompts.py,sha256=CvbPYx_klEz6OQrxVReZAnC2uQNo53rWkkucmh30uKg,9531
19
- jarvis/jarvis_agent/protocols.py,sha256=YFJaC9MHi7JfLzmvlyotJDjiCO4Z07XJXy1gKhVdUy4,956
20
- jarvis/jarvis_agent/rewrite_file_handler.py,sha256=z8go1BM40r7gc8DxmbtvEUxvRj_blBFlb-TatzQnsbo,5199
21
- jarvis/jarvis_agent/run_loop.py,sha256=-GqU2gAS3nbAr6GxJfEbupz-Cv0JsE0bEJdHH1L4EVs,6507
22
- jarvis/jarvis_agent/session_manager.py,sha256=5wVcaZGwJ9cEKTQglSbqyxUDJ2fI5KxYN8C8L16UWLw,3024
23
- jarvis/jarvis_agent/share_manager.py,sha256=Nl7zvy5PbcYAPXUgfnvatoUB0V4sIQOt61LyYkp5-2w,9127
24
- jarvis/jarvis_agent/shell_input_handler.py,sha256=wiAPjB-9uTkcLszbO5dlOUwIfaeR39RgRcZhahIGqoA,2018
25
- jarvis/jarvis_agent/stdio_redirect.py,sha256=cG3z54rShhE9ATFlcVFgKXNk8ShqwSVfDCtaIVilTes,9923
26
- jarvis/jarvis_agent/task_analyzer.py,sha256=OZJSdEGaXwheo5bPCYLxMuaV7K92ZrqRFymJvCusDoM,8046
27
- jarvis/jarvis_agent/task_manager.py,sha256=lme_aN8vaF_a4Tvv2kaSEnWATy8RPSjogTxeLnEYZdg,6504
28
- jarvis/jarvis_agent/task_planner.py,sha256=zXFTc96cQRiy3EWQb93dO6gONHssvCQLyKh4X_5oF3w,24417
29
- jarvis/jarvis_agent/tool_executor.py,sha256=k73cKhZEZpljvui4ZxALlFEIE-iLzJ32Softsmiwzqk,1896
30
- jarvis/jarvis_agent/tool_share_manager.py,sha256=Do08FRxis0ynwR2a6iRoa6Yq0qCP8NkuhMbPrimaxMA,5169
31
- jarvis/jarvis_agent/user_interaction.py,sha256=tifFN49GkO_Q80sqOTVmhxwbNWTazF3K0cr8AnnvzdU,1453
32
- jarvis/jarvis_agent/utils.py,sha256=WJmKys_ceDALL73GdMCOgmjGHBzeRSPj7rmc8Pkrvzc,1784
33
- jarvis/jarvis_agent/web_bridge.py,sha256=h15PXuPWWfZynWt8bPW4BDeCpIVoIOlRXfO0je6HDx4,6673
34
- jarvis/jarvis_agent/web_output_sink.py,sha256=sZ6WbLZnuCdT5dS9d8msHY_g-pnj-dvML-I6uJ7-sbc,1733
35
- jarvis/jarvis_agent/web_server.py,sha256=rOMP2ejCYJAqGw9aFYBlMsQmQp5JR-SVyfANKDWyJ0c,28227
36
- jarvis/jarvis_c2rust/__init__.py,sha256=gtZlPXHo22Kns3InsgXmvQIBLWf2cOTLnbybGrRFjdc,1337
37
- jarvis/jarvis_c2rust/cli.py,sha256=8V5x3NkZgKDQ5UpEF62_FAMludp9pz2jcRs2gv7khEY,26320
38
- jarvis/jarvis_c2rust/collector.py,sha256=3W3QJhvcsRuRfsnhjp8n7XEs3tWwKyuE4_Hvv9MWlGM,8416
39
- jarvis/jarvis_c2rust/library_replacer.py,sha256=COZ9CK42WRZZxv6Po_m7fSWtDgCNI6PMevRJmL0Hk7Y,46261
40
- jarvis/jarvis_c2rust/llm_module_agent.py,sha256=TCpfhx0CtHOpeUOBf-coyI0DSzjjOYhuIjwr1Pa2Pmg,59386
41
- jarvis/jarvis_c2rust/optimizer.py,sha256=IpdkE57zczGVaYvzT54MTZb3jQg5uRLQVZoUEi9OL4U,42348
42
- jarvis/jarvis_c2rust/scanner.py,sha256=4kuRCCZYZXH1WBhS30CzSojFaj5kzX7a1m_C5J05e5U,62871
43
- jarvis/jarvis_c2rust/transpiler.py,sha256=y50bgJ0zGNeD_OA6BuDnOziY0crqoXiYCrDrNcGCpx8,123633
44
- jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- jarvis/jarvis_code_agent/build_validation_config.py,sha256=LEwCTDZYLo7XkJdmcYdCci__CJaiEm6O2EIDdjkiz04,4488
46
- jarvis/jarvis_code_agent/code_agent.py,sha256=MfJVtzO2XoBsdy2hnjjOm500pF0O98-iuegCPhmx7d0,80609
47
- jarvis/jarvis_code_agent/lint.py,sha256=1BtXWmpLlFy-yiF9w1ZTM3XAr6nxcGU9u0LU4pLvnb4,13739
48
- jarvis/jarvis_code_agent/utils.py,sha256=BKL27OVxeYmSmslsxFG2yQ0BKVG8urdjj8Ojcl6mOqk,4828
49
- jarvis/jarvis_code_agent/code_analyzer/__init__.py,sha256=qm7PxFCN7qZNyxrxb8AYetlYubP9QVl8fV8VkwhQYi0,1625
50
- jarvis/jarvis_code_agent/code_analyzer/base_language.py,sha256=4TH9Mlgnj4X3n9uOJgJTTWHSMrJYHpojcLGzXlBen_E,2132
51
- jarvis/jarvis_code_agent/code_analyzer/build_validator.py,sha256=XVBwHJgaBnwYaQ-bSXw3mts5aLW2SjgzsXu4s77GV4A,1032
52
- jarvis/jarvis_code_agent/code_analyzer/context_manager.py,sha256=UjxrVkrhBfZc0k3lXYNrLWcJ6o4CaP0jOKCNSsKgroQ,14350
53
- jarvis/jarvis_code_agent/code_analyzer/context_recommender.py,sha256=xAYMHI2Gb7uSDaNdBuaJMLPGwwXeW34bByj_JT06wWM,433
54
- jarvis/jarvis_code_agent/code_analyzer/dependency_analyzer.py,sha256=K_9-govIzeobGeoPvmgW-r4pTJAHxxnonklvl5rSpOg,5078
55
- jarvis/jarvis_code_agent/code_analyzer/file_ignore.py,sha256=HU5769KTNv-gYoIi2drrMgzn6l8kfgzvs3RwEFHDOp8,9818
56
- jarvis/jarvis_code_agent/code_analyzer/impact_analyzer.py,sha256=JqfneA1Z0ermmlZfYDQmTfxCbqibWbnMpwHBlHzpLTQ,29643
57
- jarvis/jarvis_code_agent/code_analyzer/language_registry.py,sha256=k6Tg7l3UMEUIoUONyGQ-vMm62EBl4o200_clsXl6NEA,5597
58
- jarvis/jarvis_code_agent/code_analyzer/language_support.py,sha256=Ruc_00KH8Akr9U9ho1IXCP7D0QOlaIdXFpD-mFKeo18,2627
59
- jarvis/jarvis_code_agent/code_analyzer/llm_context_recommender.py,sha256=rpf9hQhkeRMOouXDHcpv98cuchokmvIELY0NFNqzg4g,17357
60
- jarvis/jarvis_code_agent/code_analyzer/symbol_extractor.py,sha256=--8D7m-5R-k25co0Zg_itq30lLieUOCORT4C4P35Vto,2939
61
- jarvis/jarvis_code_agent/code_analyzer/tree_sitter_extractor.py,sha256=IUxAVxAYHU4ALeBBBraXBF2WMPFaeThh95XwyImL-Z0,1779
62
- jarvis/jarvis_code_agent/code_analyzer/build_validator/__init__.py,sha256=FJda17qW9n4ICGmrhH_CAwN68iZ4kVdo0yF9dj5__oo,1202
63
- jarvis/jarvis_code_agent/code_analyzer/build_validator/base.py,sha256=BxuqQ0dIIgaj6ApfJ84CHP2R4VDEVKyatMNOP_idwUM,2766
64
- jarvis/jarvis_code_agent/code_analyzer/build_validator/cmake.py,sha256=hF7TzRyQi1dW1_CLVmBe_ATzinIVmdvTX7pgtJvRl_o,1961
65
- jarvis/jarvis_code_agent/code_analyzer/build_validator/detector.py,sha256=rLFWUhieg9-RbKTTrlnA-N2Nr2xSOyHoO5yFa-QaJA4,4247
66
- jarvis/jarvis_code_agent/code_analyzer/build_validator/fallback.py,sha256=um4UWELR8qogK2we1BxTAZ0Yg7NiJn1B25IBu260Z9c,2386
67
- jarvis/jarvis_code_agent/code_analyzer/build_validator/go.py,sha256=njcyyP0MxRQxr2ln_A0PRV8KO0ieRKMsqV4ymNAirjI,961
68
- jarvis/jarvis_code_agent/code_analyzer/build_validator/java_gradle.py,sha256=E1fjlcd8JACRR6J7qYgdyIRZDyA60HBpFmIWfPeG5Qw,1263
69
- jarvis/jarvis_code_agent/code_analyzer/build_validator/java_maven.py,sha256=AR48BH4j9XDL1KKZpLKncNUvydV0V_TYTD6sWZHE11E,1025
70
- jarvis/jarvis_code_agent/code_analyzer/build_validator/makefile.py,sha256=FtJG9PeUi-VCLhKPRrnO1BDykddJMAFBCEeHmw0jDB0,1463
71
- jarvis/jarvis_code_agent/code_analyzer/build_validator/nodejs.py,sha256=kKTSTHLaMboH_kl5hv9ysE6ixPIQpkaXUMpjIMMYLuQ,3645
72
- jarvis/jarvis_code_agent/code_analyzer/build_validator/python.py,sha256=rpZ-lmMph3za4MQUVEJi69FmDhPzn2xduC_rXiuF0B8,5147
73
- jarvis/jarvis_code_agent/code_analyzer/build_validator/rust.py,sha256=an-I-U8hXMe62UkPp9Ztiq-IfHIw1-Lpqr-_g_LgfOg,1621
74
- jarvis/jarvis_code_agent/code_analyzer/build_validator/validator.py,sha256=Q2Gb6ZCfYOLAzEw4r9AF_eO7ksMBGy-629KZ_7IMLE8,6788
75
- jarvis/jarvis_code_agent/code_analyzer/languages/__init__.py,sha256=vHEqg2sSG2P2eRttTKo3kiRFR3F7hV0f7wyQamWqgCs,809
76
- jarvis/jarvis_code_agent/code_analyzer/languages/c_cpp_language.py,sha256=k_f79x6PUYpsiIIz4DjZuB37ZUrYiCD-4eQQCtwLESw,7215
77
- jarvis/jarvis_code_agent/code_analyzer/languages/go_language.py,sha256=4D-rlqsw2j4xp0NGb-k40BlgHDX4oZq79XU0m7Q6ubg,6160
78
- jarvis/jarvis_code_agent/code_analyzer/languages/python_language.py,sha256=5JSI-b0-YE7eEf3gJrNBOk5PGjiPdkOOl7olkYDxCtg,8775
79
- jarvis/jarvis_code_agent/code_analyzer/languages/rust_language.py,sha256=6ZrIjx2e1fazb4trDLUQfM6M6kXWJWg90eC9LttsDws,7113
80
- jarvis/jarvis_code_analysis/code_review.py,sha256=48r0UE4pmOUaRgBJIJrpPW307sKGo1rnTNkWdsqkOrY,29889
81
- jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=LIXAYa1sW3l7foP6kohLWnE98I_EQ0T7z5bYKHq6rJA,78
82
- jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=9t62bMqs6qTkFSio4SKkj88qyb5ZubWrw3MxJBQ4X1A,1317
83
- jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=ShPXrl2_UPAnGaCHAG2wLl90COG3HK2XCSr1UK2dxN4,2420
84
- jarvis/jarvis_code_analysis/checklists/data_format.py,sha256=urCb9qiJBDGev6C-PXv30NKFoQeGdbtlOl1VSPbjCSA,3005
85
- jarvis/jarvis_code_analysis/checklists/devops.py,sha256=tlKD75mbFx6HHk8H8eHL_I_WTusHvWA8Zfb5P6c_1w4,3542
86
- jarvis/jarvis_code_analysis/checklists/docs.py,sha256=gxhxuw-w0puen2Hgwe9MsgO_kijtCJC6THXSoz3YgiA,3341
87
- jarvis/jarvis_code_analysis/checklists/go.py,sha256=NDBFA0qPrjr1HOZYy5DYU0iIcKWCaevJRLw4fbHZwwQ,1388
88
- jarvis/jarvis_code_analysis/checklists/infrastructure.py,sha256=7z5MZnOUT3FpMrTQw2QcxkkTHKdMblc_Rf2NjxSI39A,3765
89
- jarvis/jarvis_code_analysis/checklists/java.py,sha256=gWRVhXfsNhRFdthjIiQTkviqLwisuKCrr6gjxP0S9Z4,2085
90
- jarvis/jarvis_code_analysis/checklists/javascript.py,sha256=SQkw2I09DaaLxD_WTZjuHn4leUKil68IEPB03BoSYuo,2340
91
- jarvis/jarvis_code_analysis/checklists/kotlin.py,sha256=dNSHM1u3R7lxe8BU8ADtDyKJxmj3NUh9ZQuC7HHWHGY,4436
92
- jarvis/jarvis_code_analysis/checklists/loader.py,sha256=bjE4On6WMLt41bfkCZsHnBpfXF61VPthFPsgNcbH90c,1903
93
- jarvis/jarvis_code_analysis/checklists/php.py,sha256=qW34sF9AqLuSVuOVP5yJUHnB9V3-YRQjNPuB3lFI5UY,2481
94
- jarvis/jarvis_code_analysis/checklists/python.py,sha256=gjyJ0QPY1CAwqhbDnIyLYruvFduZU5hiKyehAXMHu-I,1452
95
- jarvis/jarvis_code_analysis/checklists/ruby.py,sha256=kzwd7Wl6gKrkAANq7_MvA5X5du5r1MeE-EY2Xb43n7U,4274
96
- jarvis/jarvis_code_analysis/checklists/rust.py,sha256=kzt6ARBzUaC2UCviIt5ybfhJjyCkK_V9Kd4e97Dbtd4,1646
97
- jarvis/jarvis_code_analysis/checklists/shell.py,sha256=aRFYhQQvTgbYd-uY5pc8UHIUAHPtZeciTg4aDcwvRZE,2619
98
- jarvis/jarvis_code_analysis/checklists/sql.py,sha256=vR0T6qC7b4dURjJVAd7kSVxyvZEQXPG1Jqc2sNTGp5c,2355
99
- jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQpOLEbH2Y7LXg1uBgxc,2566
100
- jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
101
- jarvis/jarvis_data/config_schema.json,sha256=EKeHC8sJje-bGyOq4-sHovE0pJlx7js9csdTFmyha64,16786
102
- jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
103
- jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
- jarvis/jarvis_git_squash/main.py,sha256=BRbsEQVXwseVFKliVqV8_JPh1om6QT6dLTHw0jQ7OE0,2474
105
- jarvis/jarvis_git_utils/git_commiter.py,sha256=aFVo50MwoBD7i5OtwGfPwrtpnVF2F5OPPslNP4gEg7E,17327
106
- jarvis/jarvis_mcp/__init__.py,sha256=OPMtjD-uq9xAaKCRIDyKIosaFfBe1GBPu1az-mQ0rVM,2048
107
- jarvis/jarvis_mcp/sse_mcp_client.py,sha256=rBj1cIH6z6ilISOyD4zvojK6sSZ35A4z3HJlYNeVLaE,22873
108
- jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=uhduVXAmEGS5reZYirx7IozoF8vuvf_yP1a1pwsa93k,11287
109
- jarvis/jarvis_mcp/streamable_mcp_client.py,sha256=BenOeZGNHdUOJT5Z3cc5MhS6aOeKQgqXm1ED-BqsLCY,15511
110
- jarvis/jarvis_memory_organizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
- jarvis/jarvis_memory_organizer/memory_organizer.py,sha256=0nJniocg27t257xGXiwo-b1L5Da-ZK1-MAOmYRxAFPE,26327
112
- jarvis/jarvis_methodology/main.py,sha256=uiNzk5b5O6xdvRhsOuD7ubxdd2tPcDsFFnvmes8uH8I,11370
113
- jarvis/jarvis_multi_agent/__init__.py,sha256=frH5ufVMasKFz_jbVsBk2wH5nq4D0sfDcmfBWQ-DLoA,16726
114
- jarvis/jarvis_multi_agent/main.py,sha256=vqLzHesgQkpScVvbgOSyi6X7XoEDQYq3dJ9gZfGiPZw,3351
115
- jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
116
- jarvis/jarvis_platform/ai8.py,sha256=g8JkqPGs9SEbqstNMCc5rCHO0QcPHX9LNvb7HMWwB-Q,11471
117
- jarvis/jarvis_platform/base.py,sha256=bgi95DBbX4vQPaBTws2kTst3jbJM2osIjeIjCjSbdIY,15828
118
- jarvis/jarvis_platform/human.py,sha256=jWjW8prEag79e6ddqTPV4nz_Gz6zFBfO4a1EbvP8QWA,4908
119
- jarvis/jarvis_platform/kimi.py,sha256=KLsf9udAsPRMbQ2JkBeiAlXkupCBwdtMaJ-hpH4Jdkc,15711
120
- jarvis/jarvis_platform/openai.py,sha256=4YapmkmJmPGfrjktORcIejlB98b83Wsi_48zjBymHAc,9500
121
- jarvis/jarvis_platform/registry.py,sha256=YqaFM2LXcHvqMQrTEQ_cVo8V-wQ8HhOeSdC8DdjvC00,8045
122
- jarvis/jarvis_platform/tongyi.py,sha256=QQHDn-kNcb_UH-B49lVIQTlHzYd_O8CFWN7SZqy38S4,23456
123
- jarvis/jarvis_platform/yuanbao.py,sha256=H-mZL1RN0qn3M46qZcV-PsJuXTHm7gTK2U9OvnT2MSE,23926
124
- jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
- jarvis/jarvis_platform_manager/main.py,sha256=yv7m8cNRBe4nk0Kui1w2PKTUr9Sb3wrQirvmyAUbr5U,20400
126
- jarvis/jarvis_platform_manager/service.py,sha256=TcyTSWdmKRVbKiYupixnC0tOWZgsrkiskDR_CqfZXlY,14882
127
- jarvis/jarvis_rag/__init__.py,sha256=HRTXgnQxDuaE9x-e3r6SYqhJ5d4DSI_rrIxy2IGY6qk,320
128
- jarvis/jarvis_rag/cache.py,sha256=Tqx_Oe-AhuWlMXHGHUaIuG6OEHoHBVZq7mL3kldtFFU,2723
129
- jarvis/jarvis_rag/cli.py,sha256=67T_I2Wzosy5qMRXETVl2DT9zfmYEMO6f03hTlMbU6Y,17573
130
- jarvis/jarvis_rag/embedding_manager.py,sha256=r-S12eW5nz3GJQgbk-7eQ9JVxxZ57-wLAQx_1zSl0po,10330
131
- jarvis/jarvis_rag/llm_interface.py,sha256=ntZzJtq-74d8ljqm-_flHaFys_RHjMMZRCKcMdwZt-Y,4505
132
- jarvis/jarvis_rag/query_rewriter.py,sha256=LGAWZ8kwH_dpquuYqc4QWC7IXmHX3SsnPSYMWOn-nDE,4072
133
- jarvis/jarvis_rag/rag_pipeline.py,sha256=aaTuxiArtVaPemWeySApw64q204JeLNXpOEtq7Adn1I,13797
134
- jarvis/jarvis_rag/reranker.py,sha256=7Azc3y5fngwfPKtzZ8tx6iGKNeqC8uDy8yo8VCyLyL4,2670
135
- jarvis/jarvis_rag/retriever.py,sha256=J4jO0492yHEwxJz_Cp2WP3vGHRHKj56rDyWZQ2W0XdA,18374
136
- jarvis/jarvis_sec/__init__.py,sha256=ObFm4wr2uKX3DzsiFMd0G9Zw3JxDJk2uCKr8Vp1ZtxA,150324
137
- jarvis/jarvis_sec/cli.py,sha256=PNvt-Rslfy09YljxFEuM9dcR-6PjT2cABK4SXkKQrxw,3704
138
- jarvis/jarvis_sec/report.py,sha256=FKVVSUJ-PcTJDBoYNgzxPRj5cHjmRmot3Kqj31M-77E,8109
139
- jarvis/jarvis_sec/status.py,sha256=BtshMe7fkLMjyMmrG7Saezfd_xX1nmt0AL0axrmW1-k,8534
140
- jarvis/jarvis_sec/types.py,sha256=_C3IHwnni3kApryP3c_UTYdvFdmlJSVXQLLefX94zl0,365
141
- jarvis/jarvis_sec/workflow.py,sha256=cul_sh7W6PTWOyg_RiuFHGBBXnGwANooo1_l3j6C9eg,9602
142
- jarvis/jarvis_sec/checkers/__init__.py,sha256=bkyIFSImBNFsH7RvwXwN6nETefRjtbS62gZRpQFH01I,706
143
- jarvis/jarvis_sec/checkers/c_checker.py,sha256=-w_ij6BNGl6520mVL6nk9LtsLDQzwXSrskyc-CU_K9c,115465
144
- jarvis/jarvis_sec/checkers/rust_checker.py,sha256=12sqoI5Phh_KpSjW-OwzRVfPx4MofTGUrmgPkpBdwes,40479
145
- jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- jarvis/jarvis_smart_shell/main.py,sha256=lUJPwLR9RlaaVv0lx3ojjjv5dELHOaindlsLDDkpssQ,14960
147
- jarvis/jarvis_stats/__init__.py,sha256=jJzgP43nxzLbNGs8Do4Jfta1PNCJMf1Oq9YTPd6EnFM,342
148
- jarvis/jarvis_stats/cli.py,sha256=OZdVqry0_7ZpITGe68TVL4c7KEaJ3Dci6ZXFRRt991Q,11487
149
- jarvis/jarvis_stats/stats.py,sha256=U2wLXXTWvBYcj5WxmNypOHRHjN7PM3Dkhz7EmrbFBNY,25385
150
- jarvis/jarvis_stats/storage.py,sha256=ztahlCf5ZaHizcJ3Kijmx6irTbzU_I9UEOgEwHZF84s,22084
151
- jarvis/jarvis_stats/visualizer.py,sha256=0Gc1O1cANq73GKrVVXr0rgP4tUBLQ9ZT2Q6oiLUJwS0,8539
152
- jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
- jarvis/jarvis_tools/ask_user.py,sha256=M6DdLNryCE8y1JcdZHEifUgZkPUEPNKc-zDW5p0Mb1k,2029
154
- jarvis/jarvis_tools/base.py,sha256=tFZkRlbV_a-pbjM-ci9AYmXVJm__FXuzVWKbQEyz4Ao,1639
155
- jarvis/jarvis_tools/clear_memory.py,sha256=8DOq6dHLemfKTJqu227PWBIp8Iu5K7EXwINzL8DYk8M,8205
156
- jarvis/jarvis_tools/execute_script.py,sha256=AQ9Krh6GuhzHzLPZ7HFpCe7UMtVtkI-ua3bTiQ2QShQ,8257
157
- jarvis/jarvis_tools/file_analyzer.py,sha256=jzVb8fAJn3dWwpCiYH-Wuxva4kpHqBB2_V3x3mzY0Gs,4158
158
- jarvis/jarvis_tools/generate_new_tool.py,sha256=AK21yfefMxN9me0W2y7Y5e7JsVGIud1_8bD3ISjvuLA,8620
159
- jarvis/jarvis_tools/methodology.py,sha256=_K4GIDUodGEma3SvNRo7Qs5rliijgNespVLyAPN35JU,5233
160
- jarvis/jarvis_tools/read_code.py,sha256=nhHdWpLgTONFZQwKKOiVgpAUlCs1n0NHi83kmHob-pw,18952
161
- jarvis/jarvis_tools/read_symbols.py,sha256=bCNe_c442GZaIDogWWFbG90T4qtFno4kXwhCN2oyGJE,5765
162
- jarvis/jarvis_tools/read_webpage.py,sha256=FAz0oIRYWPWUBUsJ7K-yk4sDliFk0izUGp9sV_SQ6q0,5465
163
- jarvis/jarvis_tools/registry.py,sha256=FJ211s47Y4GHAPE_8NYZMczTB-W9SCaMjq1NswPQbRU,35644
164
- jarvis/jarvis_tools/retrieve_memory.py,sha256=hhhGSr7jebPHICY9oEKICyI8mfqsRtKjh58qZNZApKc,8624
165
- jarvis/jarvis_tools/save_memory.py,sha256=RQtNxcpU53FFv_EBjH0i0oyQ7jWubm-trD1BHuqaGjI,6985
166
- jarvis/jarvis_tools/search_web.py,sha256=woxMBhkSNi8omJWJiBHQqpiFo7Xk4X5XRx-SrS1gJ-k,6402
167
- jarvis/jarvis_tools/sub_agent.py,sha256=OqDY32MNPaupKcOb-KcH6uk3anlsP2OSaTT5M-3iCGU,8474
168
- jarvis/jarvis_tools/sub_code_agent.py,sha256=7n2uEPqJS0D4sNhD6glRDJj8VAiWbWRel0IF1H3zD00,9490
169
- jarvis/jarvis_tools/virtual_tty.py,sha256=WG3Mu46R3nvBiW-ck_PSppgVIIiy5Ft5_3YTb3AsK3U,25285
170
- jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- jarvis/jarvis_tools/cli/main.py,sha256=0JTAj2vPc410Noj_bcJBF4AijovYQTIFBp7cO8LlRfA,9324
172
- jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
173
- jarvis/jarvis_utils/builtin_replace_map.py,sha256=z8iAqsbZUiGFaozxG1xSu128op8udqHOeEw-GxNt4bU,1708
174
- jarvis/jarvis_utils/clipboard.py,sha256=D3wzQeqg_yiH7Axs4d6MRxyNa9XxdnenH-ND2uj2WVQ,2967
175
- jarvis/jarvis_utils/config.py,sha256=oXa-vBW8WRaPNdb2A7EK3CiRGNJXrfgUZHcAx_KGSmo,24915
176
- jarvis/jarvis_utils/embedding.py,sha256=x6mrkL7Bc3qgfuBDsjc4fg4nKG8ofGxVLVVydbsb8PY,2838
177
- jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
178
- jarvis/jarvis_utils/fzf.py,sha256=vCs0Uh5dUqGbWzXn2JCtLLCOYE2B39ZNdNveR9PK4DA,1681
179
- jarvis/jarvis_utils/git_utils.py,sha256=uRJT-RHij-9HepT4g2jDv94XQyeXS3DxhQZcavl-F1A,30605
180
- jarvis/jarvis_utils/globals.py,sha256=a7j4X1IBcJ8XJmxVhSOsOfXnniVf4p6JIRzRQvZ8fFk,8907
181
- jarvis/jarvis_utils/http.py,sha256=KLTBqti8m9B2TPKOLAsNuxSd8mFPN0whQhuXYnRDNW0,4424
182
- jarvis/jarvis_utils/input.py,sha256=OUu_-Ytbyzk3sl9_7P5039fO3K9tC29tEvHJsdJpaow,39959
183
- jarvis/jarvis_utils/methodology.py,sha256=YuuKBjr58cu8QWcniU7QVlEM9Cem6wo4IYcq1iwSDMw,13158
184
- jarvis/jarvis_utils/output.py,sha256=y2fVcao_2ZowFl0IxUrJZCi8T6ZM0z-iPzpk8T8eLxc,13623
185
- jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
186
- jarvis/jarvis_utils/utils.py,sha256=ZGnVG2CIMgP4yxY75syEsrTMzG-SAqEG3Gy-wacLDgU,82855
187
- jarvis_ai_assistant-0.7.0.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
188
- jarvis_ai_assistant-0.7.0.dist-info/METADATA,sha256=EVLNsGrQPooCBb8r-_TMK0Vdo3riwfucT9yK1S2PkNI,23057
189
- jarvis_ai_assistant-0.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
190
- jarvis_ai_assistant-0.7.0.dist-info/entry_points.txt,sha256=Uxk2_VeucH_m7EwH2mw0SlEYHIUmbzXkjTb15z_lcko,1552
191
- jarvis_ai_assistant-0.7.0.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
192
- jarvis_ai_assistant-0.7.0.dist-info/RECORD,,