jarvis-ai-assistant 0.1.187__py3-none-any.whl → 0.1.189__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.
@@ -286,11 +286,11 @@ def slow_edit(filepath: str, patch_content: str, spinner: Yaspin) -> Tuple[bool,
286
286
  model = PlatformRegistry().get_normal_platform()
287
287
  try:
288
288
  file_content = FileOperationTool().execute({"operation":"read", "files":[{"path":filepath}]})["stdout"]
289
- need_upload_file = is_context_overflow(file_content)
289
+ is_large_context = is_context_overflow(file_content)
290
290
  upload_success = False
291
291
  # 读取原始文件内容
292
292
  with spinner.hidden():
293
- if need_upload_file and model.upload_files([filepath]):
293
+ if is_large_context and model.support_upload_files() and model.upload_files([filepath]):
294
294
  upload_success = True
295
295
 
296
296
 
@@ -340,19 +340,21 @@ def slow_edit(filepath: str, patch_content: str, spinner: Yaspin) -> Tuple[bool,
340
340
  """
341
341
 
342
342
  for _ in range(3):
343
- file_prompt = ""
344
- if not need_upload_file:
343
+ if is_large_context:
344
+ if upload_success:
345
+ response = model.chat_until_success(main_prompt)
346
+ else:
347
+ file_prompt = f"""
348
+ # 原始代码
349
+ {file_content}
350
+ """
351
+ response = model.chat_until_success(main_prompt + file_prompt)
352
+ else:
345
353
  file_prompt = f"""
346
354
  # 原始代码
347
355
  {file_content}
348
356
  """
349
-
350
357
  response = model.chat_until_success(main_prompt + file_prompt)
351
- else:
352
- if upload_success:
353
- response = model.chat_until_success(main_prompt)
354
- else:
355
- return False, "文件上传失败"
356
358
 
357
359
  # 解析差异化补丁
358
360
  diff_blocks = re.finditer(ot("DIFF")+r'\s*>{4,} SEARCH\n?(.*?)\n?={4,}\n?(.*?)\s*<{4,} REPLACE\n?'+ct("DIFF"),
@@ -435,9 +437,26 @@ def fast_edit(filepath: str, patches: List[Dict[str,str]], spinner: Yaspin) -> T
435
437
  search_text, replace_text)
436
438
  spinner.write(f"✅ 补丁 #{patch_count} 应用成功")
437
439
  else:
438
- success = False
439
- err_msg = f"搜索文本 {search_text} 在文件中不存在,请检查补丁内容"
440
- break
440
+ # 尝试增加缩进重试
441
+ found = False
442
+ for space_count in range(1, 17):
443
+ indented_search = '\n'.join(' ' * space_count + line for line in search_text.split('\n'))
444
+ indented_replace = '\n'.join(' ' * space_count + line for line in replace_text.split('\n'))
445
+ if indented_search in modified_content:
446
+ if modified_content.count(indented_search) > 1:
447
+ success = False
448
+ err_msg = f"搜索文本 {indented_search} 在文件中存在多处,请检查补丁内容"
449
+ break
450
+ modified_content = modified_content.replace(
451
+ indented_search, indented_replace)
452
+ spinner.write(f"✅ 补丁 #{patch_count} 应用成功 (自动增加 {space_count} 个空格缩进)")
453
+ found = True
454
+ break
455
+
456
+ if not found:
457
+ success = False
458
+ err_msg = f"搜索文本 {search_text} 在文件中不存在,尝试增加1-16个空格缩进后仍未找到匹配"
459
+ break
441
460
  if not success:
442
461
  revert_file(filepath)
443
462
  return False, err_msg
@@ -30,6 +30,10 @@ class FileAnalyzerTool:
30
30
  "required": ["file_paths", "prompt"]
31
31
  }
32
32
 
33
+ @staticmethod
34
+ def check() -> bool:
35
+ return PlatformRegistry().get_thinking_platform().support_upload_files()
36
+
33
37
  def execute(self, args: Dict[str, Any]) -> Dict[str, Any]:
34
38
  """执行文件分析操作
35
39
 
@@ -62,8 +66,7 @@ class FileAnalyzerTool:
62
66
  }
63
67
 
64
68
  # 创建thinking平台实例
65
- platform_registry = PlatformRegistry.get_global_platform_registry()
66
- platform = platform_registry.get_thinking_platform()
69
+ platform = PlatformRegistry().get_thinking_platform()
67
70
 
68
71
  if not platform:
69
72
  return {
@@ -7,6 +7,7 @@ import tempfile
7
7
  from pathlib import Path
8
8
  from typing import Any, Callable, Dict, List, Optional, Protocol, Tuple
9
9
 
10
+ from numpy import place
10
11
  import yaml
11
12
 
12
13
  from jarvis.jarvis_mcp import McpClient
@@ -18,7 +19,7 @@ from jarvis.jarvis_tools.base import Tool
18
19
  from jarvis.jarvis_utils.config import get_data_dir
19
20
  from jarvis.jarvis_utils.output import OutputType, PrettyOutput
20
21
  from jarvis.jarvis_utils.tag import ct, ot
21
- from jarvis.jarvis_utils.utils import init_env, is_context_overflow
22
+ from jarvis.jarvis_utils.utils import is_context_overflow
22
23
 
23
24
  tool_call_help = f"""
24
25
  <tool_system_guide>
@@ -648,6 +649,9 @@ class ToolRegistry(OutputHandlerProtocol):
648
649
  want = tool_call["want"]
649
650
  args["agent"] = agent
650
651
 
652
+ from jarvis.jarvis_agent import Agent
653
+ agent_instance: Agent = agent
654
+
651
655
  if isinstance(args, str):
652
656
  try:
653
657
  args = json.loads(args)
@@ -676,23 +680,25 @@ class ToolRegistry(OutputHandlerProtocol):
676
680
  tmp_file.flush()
677
681
 
678
682
  try:
679
- # 获取平台实例
680
- platform = PlatformRegistry().get_normal_platform()
681
- if platform and hasattr(platform, 'upload_files'):
682
- platform.set_suppress_output(False)
683
- # 尝试上传文件
684
- upload_success = platform.upload_files([output_file])
685
-
683
+ if agent_instance.model and agent_instance.model.support_upload_files():
684
+ summary = agent_instance.generate_summary()
685
+ agent_instance.clear_history()
686
+ upload_success = agent_instance.model.upload_files([output_file])
686
687
  if upload_success:
687
- # 使用上传的文件生成摘要
688
- prompt = f"该文件为工具执行结果,请阅读文件内容,并根据文件提取出以下信息:{want}"
689
- return f"""工具调用原始输出过长,以下是根据输出提出的信息:
690
-
691
- {platform.chat_until_success(prompt)}"""
692
- else:
693
- return self._truncate_output(output)
694
-
695
- # 如果都不支持,返回截断的输出
688
+ prompt = f"""
689
+ 以下是之前对话的关键信息总结:
690
+
691
+ <content>
692
+ {summary}
693
+ </content>
694
+
695
+ 上传的文件是以下工具执行结果:
696
+ {yaml.safe_dump({"name":name, "arguments":args, "want":want})}
697
+
698
+ 请根据以上信息,继续完成任务。
699
+ """
700
+ return prompt
701
+ # 使用上传的文件生成摘要
696
702
  return self._truncate_output(output)
697
703
  finally:
698
704
  # 清理临时文件
@@ -203,7 +203,7 @@ def get_max_big_content_size() -> int:
203
203
  返回:
204
204
  int: 最大大内容大小
205
205
  """
206
- return int(GLOBAL_CONFIG_DATA.get('JARVIS_MAX_BIG_CONTENT_SIZE', '1024000'))
206
+ return int(GLOBAL_CONFIG_DATA.get('JARVIS_MAX_BIG_CONTENT_SIZE', '160000'))
207
207
 
208
208
  def get_pretty_output() -> bool:
209
209
  """
@@ -119,9 +119,8 @@ def upload_methodology(platform: BasePlatform) -> bool:
119
119
  return False
120
120
 
121
121
  try:
122
- if hasattr(platform, 'upload_files'):
123
- return platform.upload_files([temp_file_path])
124
- return False
122
+ return platform.upload_files([temp_file_path])
123
+
125
124
  finally:
126
125
  if temp_file_path and os.path.exists(temp_file_path):
127
126
  try:
@@ -214,12 +213,11 @@ def load_methodology(user_input: str, tool_registery: Optional[Any] = None) -> s
214
213
  spinner.ok("✅")
215
214
 
216
215
  # 尝试上传文件
217
- if hasattr(platform, 'upload_files'):
218
- upload_success = platform.upload_files([temp_file_path])
219
-
220
- if upload_success:
221
- # 使用上传的文件生成摘要
222
- return platform.chat_until_success(base_prompt + f"""
216
+ upload_success = platform.upload_files([temp_file_path])
217
+
218
+ if upload_success:
219
+ # 使用上传的文件生成摘要
220
+ return platform.chat_until_success(base_prompt + f"""
223
221
  请根据已上传的方法论和可调用的工具文件内容,规划/总结出以下用户需求的执行步骤: {user_input}
224
222
 
225
223
  请按以下格式回复:
@@ -234,8 +232,8 @@ def load_methodology(user_input: str, tool_registery: Optional[Any] = None) -> s
234
232
  如果没有匹配的方法论,请输出:没有历史方法论可参考
235
233
  除以上要求外,不要输出任何内容
236
234
  """)
237
- else:
238
- return "没有历史方法论可参考"
235
+ else:
236
+ return "没有历史方法论可参考"
239
237
  # 如果内容不大或上传失败,直接使用chat_until_success
240
238
  return platform.chat_until_success(full_content)
241
239
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.187
3
+ Version: 0.1.189
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
@@ -238,7 +238,7 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
238
238
  | `JARVIS_CONFIRM_BEFORE_APPLY_PATCH` | true | 应用补丁前是否需要确认 |
239
239
  | `JARVIS_MAX_TOOL_CALL_COUNT` | 20 | 最大连续工具调用次数,如果是0表示无限制 |
240
240
  | `JARVIS_AUTO_UPDATE` | true | 是否自动更新Jarvis(仅在以git仓库方式安装时有效) |
241
- | `JARVIS_MAX_BIG_CONTENT_SIZE` | 1024000 | 最大大内容大小 |
241
+ | `JARVIS_MAX_BIG_CONTENT_SIZE` | 160000 | 最大大内容大小 |
242
242
  | `JARVIS_PRETTY_OUTPUT` | false | 是否启用PrettyOutput |
243
243
  | `JARVIS_GIT_COMMIT_PROMPT` | "" | 自定义git提交信息生成提示模板 |
244
244
  | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
@@ -1,15 +1,15 @@
1
- jarvis/__init__.py,sha256=asOF79piCkaX_uxiI4Oz9X7T0At-IuYPfb0XQlJZ6k8,74
2
- jarvis/jarvis_agent/__init__.py,sha256=GBlsKYlZUpBekI7mTYFqAsmjXhlxMbIAoHkBpNjwt7M,30611
1
+ jarvis/__init__.py,sha256=3RRAnaRmOaQpveMGk6AbLpN-Ndluqiwh0tdrx6SLMdg,74
2
+ jarvis/jarvis_agent/__init__.py,sha256=utqI92rkiqiVR2zk5N-IQe2CeMSl-sNiLU429dLoGVw,30487
3
3
  jarvis/jarvis_agent/builtin_input_handler.py,sha256=f4DaEHPakXcAbgykFP-tiOQP6fh_yGFlZx_h91_j2tQ,1529
4
- jarvis/jarvis_agent/file_input_handler.py,sha256=7u8pXWD7F9mmiJkr9XO83mhFu40FSRoYQm55DbZHgQo,4203
4
+ jarvis/jarvis_agent/file_input_handler.py,sha256=OfoYI5on6w5BDUUg4OadFcfWzMsUF70GNrlt9QyauvA,4181
5
5
  jarvis/jarvis_agent/jarvis.py,sha256=gOZfTwVlG-GZxPjgCoSiIcFsl4RwwfPA0CGUjE5J7oU,6249
6
- jarvis/jarvis_agent/main.py,sha256=hgyf0QDESx88GlqYfGelxJ5HCpYOpm3FlcDXc-5jtjE,2852
6
+ jarvis/jarvis_agent/main.py,sha256=miR8wnWBzmbhOfnscyiKo1oI4wZBRU6FEE-k1lkqtiI,2752
7
7
  jarvis/jarvis_agent/output_handler.py,sha256=7qori-RGrQmdiFepoEe3oPPKJIvRt90l_JDmvCoa4zA,1219
8
8
  jarvis/jarvis_agent/shell_input_handler.py,sha256=pi3AtPKrkKc6K9e99S1djKXQ_XrxtP6FrSWebQmRT6E,1261
9
9
  jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  jarvis/jarvis_code_agent/code_agent.py,sha256=2TG_Hi_2mbiZHUcWnxYs4C30eYpgSedtIYZLs7BbyUk,15827
11
11
  jarvis/jarvis_code_agent/lint.py,sha256=TZlhNbeaoLzO9DzExjN5GAjrt66owd8lyQV56LTfkrs,4370
12
- jarvis/jarvis_code_analysis/code_review.py,sha256=SEK5NOGDWgMNX3zmRMWrIOtq3Xr8cKt_asG51U8h6SA,30219
12
+ jarvis/jarvis_code_analysis/code_review.py,sha256=45MPcXullg55w6E0Xhm2dDj6TGmkUxNNI2LJWexnTKQ,30123
13
13
  jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=cKQ_FOGy5TQgM-YkRCqORo-mUOZaPAJ9VDmZoFX58us,78
14
14
  jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=SXPpYCNeCtU1PpKdKPiYDuOybfY9vaL0ejDn4imxDwA,1317
15
15
  jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=vS-cu6RCGg5SyK9MJ3RE381gt3xYl-yea3Bj2UQEcwQ,2420
@@ -30,15 +30,15 @@ jarvis/jarvis_code_analysis/checklists/shell.py,sha256=IXQkWHwA-4GUQz3WUs7l6hEy7
30
30
  jarvis/jarvis_code_analysis/checklists/sql.py,sha256=ecKKT6wJAibn8R0NxGZDNlm4teYXvF3CAJvVk8mmX7w,2355
31
31
  jarvis/jarvis_code_analysis/checklists/swift.py,sha256=YcsYFxAitHqOtBZjG-RV9-KNM7X5lIcl6zlEI9XfmfM,2566
32
32
  jarvis/jarvis_code_analysis/checklists/web.py,sha256=-Pnj1FQTsGVZUQK7-4ptDsGd7a22Cs0585jRAPT2SdQ,3943
33
- jarvis/jarvis_data/config_schema.json,sha256=Jx9RPeVdkV7xgGro-5B8MFpVDLFmI80d_deLNMiTSgM,6398
33
+ jarvis/jarvis_data/config_schema.json,sha256=u_I8KawgwUltW-tVw3t37rLv4TqdBynZaNGhOFH2Zf8,6397
34
34
  jarvis/jarvis_data/huggingface.tar.gz,sha256=dWKnc_tvyx-I_ZkXo91O0b38KxDmLW1ZbmJ3E6fCl_k,1120205
35
- jarvis/jarvis_dev/main.py,sha256=b-Sa5i5T3lcazg4GIMnECsZ3L9zTs7QCg_voWE4K0I8,40642
35
+ jarvis/jarvis_dev/main.py,sha256=MG2DhDwXsOgCya558o7TJRMZlN3Diprk7UjEEVNdm6A,40630
36
36
  jarvis/jarvis_event/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- jarvis/jarvis_git_details/main.py,sha256=MfR7feVVQ7Eo9eZk-wO2bFypnA6uRrYUQn6iTeoF0Os,9007
38
+ jarvis/jarvis_git_details/main.py,sha256=4L60eVDBMv6RbocnVlzfOx7JZkHTzop3q7qui9d9LuU,9005
39
39
  jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  jarvis/jarvis_git_squash/main.py,sha256=q8-r0TtVOaCqY_uYwnWAY76k8YCDd5se_feB6ZWKo9M,2278
41
- jarvis/jarvis_git_utils/git_commiter.py,sha256=RMI1VunK643CS6vL5ZD3ehXr4LbhPKRspzagV8AcPIY,12984
41
+ jarvis/jarvis_git_utils/git_commiter.py,sha256=BpJ8py2JMnp8jcukyM3vxGNWtjOLTIvgqYOx-5OhvZo,13037
42
42
  jarvis/jarvis_mcp/__init__.py,sha256=NF_vqRxaNyz8ColcpRh0bOkinV90YLAKHEN--jkP-B8,2114
43
43
  jarvis/jarvis_mcp/sse_mcp_client.py,sha256=QNA7HqFvLbvhNaFp3ZsXzs2Rm6_gHUMcpd4t4qAzymY,23485
44
44
  jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=IEkas4ojP5J0TdVaUglvlEp61RyezBtuejv4lN3n1I4,11831
@@ -47,15 +47,15 @@ jarvis/jarvis_methodology/main.py,sha256=HhEArlKI5PCpGnBCwVrXMuDn2z84LgpgK7-aGSQ
47
47
  jarvis/jarvis_multi_agent/__init__.py,sha256=Xab5sFltJmX_9MoXqanmZs6FqKfUb2v_pG29Vk8ZXaw,4311
48
48
  jarvis/jarvis_multi_agent/main.py,sha256=KeGv8sdpSgTjW6VE4-tQ8BWDC_a0aE_4R3OqzPBd5N4,1646
49
49
  jarvis/jarvis_platform/__init__.py,sha256=0YnsUoM4JkIBOtImFdjfuDbrqQZT3dEaAwSJ62DrpCc,104
50
- jarvis/jarvis_platform/base.py,sha256=HbE7BVh8F5F38rr9K9281h6Q11XyWgDGzyPXe-e_Th0,7086
50
+ jarvis/jarvis_platform/base.py,sha256=C_50l5kc2P1OP8NH4JbaMZdY-aWOfhfuECoUlRCriU8,7029
51
51
  jarvis/jarvis_platform/human.py,sha256=xwaTZ1zdrAYZZFXxkbHvUdECwCGsic0kgAFUncUr45g,2567
52
- jarvis/jarvis_platform/kimi.py,sha256=b3EpnmHseZwrfCc8sMmvwLJ6Jg2FWf8ATItSDz5G3eQ,11978
52
+ jarvis/jarvis_platform/kimi.py,sha256=5-LUcvBoL_1Y8HZom9pkNFHO7ghstNCPEobVrVESOi4,12101
53
53
  jarvis/jarvis_platform/openai.py,sha256=VyX3bR1rGxrJdWOtUBf8PgSL9n06KaNbOewL1urzOnk,4741
54
54
  jarvis/jarvis_platform/registry.py,sha256=3djxE8AB4gwrdAOvRSL0612Rt_CcsaZhzZ0_oXHu6xk,7820
55
- jarvis/jarvis_platform/tongyi.py,sha256=NhE8ssvTI_XoDkXhaGtrUJG6q6-0OApWvh8d7wuFZXg,20944
56
- jarvis/jarvis_platform/yuanbao.py,sha256=FDi-D9Jnw_MiwI0skPNMYz874o6GhWhdNRdZg-ECoUA,20632
55
+ jarvis/jarvis_platform/tongyi.py,sha256=1cecb2GofJ_7J3xEj_fBj4Ns7XuGIn5CpCi_DFmiP4s,21063
56
+ jarvis/jarvis_platform/yuanbao.py,sha256=yOj5T3lo45ULrFkwHXdAsiLhfv141V0sPQplHGeLKNg,20751
57
57
  jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- jarvis/jarvis_platform_manager/main.py,sha256=OXWj18SqiV0Gl75YT6D9wspCCB4Nes04EY-ShI9kbpU,25677
58
+ jarvis/jarvis_platform_manager/main.py,sha256=7XfiP19Gv88sFkS__v83a-JTI-VUuyH3lWLr4_jTq1w,25863
59
59
  jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  jarvis/jarvis_smart_shell/main.py,sha256=k59o5UD7merbsPhJQzae95ThTmZY2EcNHB3Ov6kb0PA,5291
61
61
  jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -65,15 +65,15 @@ jarvis/jarvis_tools/chdir.py,sha256=DNKVFrWqu6t_sZ2ipv99s6802QR4cSGlqKlmaI--arE,
65
65
  jarvis/jarvis_tools/code_plan.py,sha256=gWR0lzY62x2PxWKoMRBqW6jq7zQuO8vhpjC4TcHSYjk,7685
66
66
  jarvis/jarvis_tools/create_code_agent.py,sha256=-nHfo5O5pDIG5IX3w1ClQafGvGcdI2_w75-KGrD-gUQ,3458
67
67
  jarvis/jarvis_tools/create_sub_agent.py,sha256=lyFrrg4V0yXULmU3vldwGp_euZjwZzJcRU6mJ20zejY,3023
68
- jarvis/jarvis_tools/edit_file.py,sha256=o8Arp2-779m8GLVtocS4kfVbAjoBb87nND2fy3bzbV0,17347
68
+ jarvis/jarvis_tools/edit_file.py,sha256=s8HqG8qHDrYjCwIioeBpGvw7Aw-iEEZoUyRJFqdjcQA,18453
69
69
  jarvis/jarvis_tools/execute_script.py,sha256=IA1SkcnwBB9PKG2voBNx5N9GXL303OC7OOtdqRfqWOk,6428
70
- jarvis/jarvis_tools/file_analyzer.py,sha256=7ILHkUFm8pPZn1y_s4uT0kaWHP-EmlHnpkovDdA1yRE,4872
70
+ jarvis/jarvis_tools/file_analyzer.py,sha256=UuQmti-eBocJB6ivMINmOvSuXxBxOqmbQ3RsQlyueWs,4918
71
71
  jarvis/jarvis_tools/file_operation.py,sha256=WloC1-oPJLwgICu4WBc9f7XA8N_Ggl73QQ5CxM2XTlE,9464
72
72
  jarvis/jarvis_tools/generate_new_tool.py,sha256=dLfOliIUm0ovLrHcZAhKm7lqhxwACv8mnGxxGtLJ--o,5960
73
73
  jarvis/jarvis_tools/methodology.py,sha256=m7cQmVhhQpUUl_uYTVvcW0JBovQLx5pWTXh_8K77HsU,5237
74
74
  jarvis/jarvis_tools/read_code.py,sha256=pL2SwZDsJbJMXo4stW96quFsLgbtPVIAW-h4sDKsLtM,6274
75
75
  jarvis/jarvis_tools/read_webpage.py,sha256=PFAYuKjay9j6phWzyuZ99ZfNaHJljmRWAgS0bsvbcvE,2219
76
- jarvis/jarvis_tools/registry.py,sha256=qdA0fgWeh_UG-_Rt5COnHTcKmOsYBiIU69uX4cLvfWI,25199
76
+ jarvis/jarvis_tools/registry.py,sha256=kSl41tvwdiHaE3nwR9BI94GibjsKWczogZ76y0nFycw,25058
77
77
  jarvis/jarvis_tools/rewrite_file.py,sha256=3V2l7kG5DG9iRimBce-1qCRuJPL0QM32SBTzOl2zCqM,7004
78
78
  jarvis/jarvis_tools/search_web.py,sha256=rzxrCOTEo-MmLQrKI4k-AbfidUfJUeCPK4f5ZJy48G8,952
79
79
  jarvis/jarvis_tools/virtual_tty.py,sha256=8E_n-eC-RRPTqYx6BI5Q2RnorY8dbhKFBfAjIiRQROA,16397
@@ -81,19 +81,19 @@ jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
81
81
  jarvis/jarvis_tools/cli/main.py,sha256=3UuU9tk5cQAS0rfNPXgdtnAd5uDB7v0Exo0_I9sJHRE,6355
82
82
  jarvis/jarvis_utils/__init__.py,sha256=x5lbQRH1uOulmWr1IEqNMLXNmDHbqQQot7d1uhKFg4M,851
83
83
  jarvis/jarvis_utils/builtin_replace_map.py,sha256=n4gBUwAJDABUhQu9qIiIHWNfPk_T7chfNk5ygCiOPtE,2931
84
- jarvis/jarvis_utils/config.py,sha256=2STTlI2Acy5TMHhLEZaz44MDsY4W9qSThI6tbwg7iSg,7105
84
+ jarvis/jarvis_utils/config.py,sha256=Z7pZsSYXJkc2RzUhJ-_VvQA3xOLo6LEo4nEE1ftyQY8,7104
85
85
  jarvis/jarvis_utils/embedding.py,sha256=J8YAqIEj16TJIPEG24uvUlPHeN-5zq0JW_hbNLizQug,3832
86
86
  jarvis/jarvis_utils/file_processors.py,sha256=G5kQI7vCGIDnjgAB5J1dYIR102u6WUv3IhcWFfDh_gs,2977
87
87
  jarvis/jarvis_utils/git_utils.py,sha256=k0rrMAbKwnD7hztmtegxtFFiCzyID4p2oHKTycE2Q-4,15070
88
88
  jarvis/jarvis_utils/globals.py,sha256=6JWtB1XoD-wEFiMzZNA790ixlZ_OsJEYUM_B8EwkOE8,2277
89
89
  jarvis/jarvis_utils/input.py,sha256=FkLW7MXL8awQUghFLQnW1r5F1wV8K3EZeVPwHFRHJTo,7458
90
- jarvis/jarvis_utils/methodology.py,sha256=A8pE8ZqNHvGKaDO4TFtg7Oz-hAXPBcQfhmSPWMr6vdg,8629
90
+ jarvis/jarvis_utils/methodology.py,sha256=6vf__ahwJZ2I62mWGAvh2C-G6pq930Dh_EkrY1VpduQ,8485
91
91
  jarvis/jarvis_utils/output.py,sha256=QboL42GtG_dnvd1O64sl8o72mEBhXNRADPXQMXgDE7Q,9661
92
92
  jarvis/jarvis_utils/tag.py,sha256=YJHmuedLb7_AiqvKQetHr4R1FxyzIh7HN0RRkWMmYbU,429
93
93
  jarvis/jarvis_utils/utils.py,sha256=dTFIN6EV48BuC4VOyvcVcj4P0tsWysc9ennbMRhLJjk,10960
94
- jarvis_ai_assistant-0.1.187.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
95
- jarvis_ai_assistant-0.1.187.dist-info/METADATA,sha256=lbhXX4AEUFxgJOFe_c2Sz40dB98YotFgNHHnhtB4WU4,15923
96
- jarvis_ai_assistant-0.1.187.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
97
- jarvis_ai_assistant-0.1.187.dist-info/entry_points.txt,sha256=Gy3DOP1PYLMK0GCj4rrP_9lkOyBQ39EK_lKGUSwn41E,869
98
- jarvis_ai_assistant-0.1.187.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
99
- jarvis_ai_assistant-0.1.187.dist-info/RECORD,,
94
+ jarvis_ai_assistant-0.1.189.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
95
+ jarvis_ai_assistant-0.1.189.dist-info/METADATA,sha256=5e88_48MijaBca9j4CP0kRRaAwtt6H6WSJOf0BsrYtQ,15922
96
+ jarvis_ai_assistant-0.1.189.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
97
+ jarvis_ai_assistant-0.1.189.dist-info/entry_points.txt,sha256=Gy3DOP1PYLMK0GCj4rrP_9lkOyBQ39EK_lKGUSwn41E,869
98
+ jarvis_ai_assistant-0.1.189.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
99
+ jarvis_ai_assistant-0.1.189.dist-info/RECORD,,