jarvis-ai-assistant 0.3.18__py3-none-any.whl → 0.3.19__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 (49) hide show
  1. jarvis/__init__.py +1 -1
  2. jarvis/jarvis_agent/__init__.py +21 -10
  3. jarvis/jarvis_agent/edit_file_handler.py +8 -13
  4. jarvis/jarvis_agent/memory_manager.py +4 -4
  5. jarvis/jarvis_agent/task_analyzer.py +4 -3
  6. jarvis/jarvis_agent/task_manager.py +6 -6
  7. jarvis/jarvis_agent/tool_executor.py +2 -2
  8. jarvis/jarvis_code_agent/code_agent.py +21 -29
  9. jarvis/jarvis_code_analysis/code_review.py +2 -4
  10. jarvis/jarvis_git_utils/git_commiter.py +17 -18
  11. jarvis/jarvis_methodology/main.py +12 -12
  12. jarvis/jarvis_platform/base.py +14 -13
  13. jarvis/jarvis_platform/kimi.py +13 -13
  14. jarvis/jarvis_platform/tongyi.py +17 -15
  15. jarvis/jarvis_platform/yuanbao.py +11 -11
  16. jarvis/jarvis_rag/cli.py +36 -32
  17. jarvis/jarvis_rag/embedding_manager.py +11 -6
  18. jarvis/jarvis_rag/llm_interface.py +6 -5
  19. jarvis/jarvis_rag/rag_pipeline.py +9 -8
  20. jarvis/jarvis_rag/reranker.py +3 -2
  21. jarvis/jarvis_rag/retriever.py +18 -8
  22. jarvis/jarvis_smart_shell/main.py +306 -46
  23. jarvis/jarvis_stats/stats.py +40 -0
  24. jarvis/jarvis_stats/storage.py +220 -9
  25. jarvis/jarvis_tools/clear_memory.py +0 -11
  26. jarvis/jarvis_tools/cli/main.py +18 -17
  27. jarvis/jarvis_tools/edit_file.py +4 -4
  28. jarvis/jarvis_tools/execute_script.py +5 -1
  29. jarvis/jarvis_tools/file_analyzer.py +6 -6
  30. jarvis/jarvis_tools/generate_new_tool.py +6 -17
  31. jarvis/jarvis_tools/read_code.py +3 -6
  32. jarvis/jarvis_tools/read_webpage.py +4 -4
  33. jarvis/jarvis_tools/registry.py +8 -28
  34. jarvis/jarvis_tools/retrieve_memory.py +5 -16
  35. jarvis/jarvis_tools/rewrite_file.py +0 -4
  36. jarvis/jarvis_tools/save_memory.py +2 -10
  37. jarvis/jarvis_tools/search_web.py +5 -8
  38. jarvis/jarvis_tools/virtual_tty.py +22 -40
  39. jarvis/jarvis_utils/clipboard.py +3 -3
  40. jarvis/jarvis_utils/input.py +67 -27
  41. jarvis/jarvis_utils/methodology.py +3 -3
  42. jarvis/jarvis_utils/output.py +1 -7
  43. jarvis/jarvis_utils/utils.py +35 -58
  44. {jarvis_ai_assistant-0.3.18.dist-info → jarvis_ai_assistant-0.3.19.dist-info}/METADATA +1 -1
  45. {jarvis_ai_assistant-0.3.18.dist-info → jarvis_ai_assistant-0.3.19.dist-info}/RECORD +49 -49
  46. {jarvis_ai_assistant-0.3.18.dist-info → jarvis_ai_assistant-0.3.19.dist-info}/WHEEL +0 -0
  47. {jarvis_ai_assistant-0.3.18.dist-info → jarvis_ai_assistant-0.3.19.dist-info}/entry_points.txt +0 -0
  48. {jarvis_ai_assistant-0.3.18.dist-info → jarvis_ai_assistant-0.3.19.dist-info}/licenses/LICENSE +0 -0
  49. {jarvis_ai_assistant-0.3.18.dist-info → jarvis_ai_assistant-0.3.19.dist-info}/top_level.txt +0 -0
@@ -139,7 +139,7 @@ def _check_pip_updates() -> bool:
139
139
  # 检测是否安装了 RAG 特性
140
140
  rag_installed = False
141
141
  try:
142
- import langchain # noqa
142
+ import langchain # type: ignore # noqa
143
143
 
144
144
  rag_installed = True
145
145
  except ImportError:
@@ -212,46 +212,37 @@ def _show_usage_stats(welcome_str: str) -> None:
212
212
  "commit": {"title": "💾 提交统计", "metrics": {}, "suffix": "个"},
213
213
  "command": {"title": "📱 命令使用", "metrics": {}, "suffix": "次"},
214
214
  "adoption": {"title": "🎯 采纳情况", "metrics": {}, "suffix": ""},
215
+ "other": {"title": "📦 其他指标", "metrics": {}, "suffix": ""},
215
216
  }
216
217
 
217
- # 遍历所有指标,获取统计数据
218
+ # 遍历所有指标,使用快速总量读取以避免全量扫描
218
219
  for metric in all_metrics:
219
- # 获取该指标的所有数据
220
- stats_data = StatsManager.get_stats(
221
- metric_name=metric,
222
- start_time=datetime(2000, 1, 1),
223
- end_time=datetime.now(),
224
- )
220
+ try:
221
+ total = StatsManager.get_metric_total(metric)
222
+ except Exception:
223
+ total = 0.0
225
224
 
226
- if stats_data and isinstance(stats_data, dict) and "records" in stats_data:
227
- # 按照标签分组统计
228
- tag_totals: Dict[str, float] = {}
229
- for record in stats_data["records"]:
230
- tags = record.get("tags", {})
231
- group = tags.get("group", "other")
232
- tag_totals[group] = tag_totals.get(group, 0) + record["value"]
233
-
234
- # 根据标签将指标分配到相应类别
235
- for group, total in tag_totals.items():
236
- if total > 0:
237
- if group == "tool":
238
- categorized_stats["tool"]["metrics"][metric] = int(total)
239
- elif group == "code_agent":
240
- # 根据指标名称细分
241
- if metric.startswith("code_lines_"):
242
- categorized_stats["lines"]["metrics"][metric] = int(
243
- total
244
- )
245
- elif "commit" in metric:
246
- categorized_stats["commit"]["metrics"][metric] = int(
247
- total
248
- )
249
- else:
250
- categorized_stats["code"]["metrics"][metric] = int(
251
- total
252
- )
253
- elif group == "command":
254
- categorized_stats["command"]["metrics"][metric] = int(total)
225
+ if not total or total <= 0:
226
+ continue
227
+
228
+ # 优先使用元信息中的分组(在写入指标时已记录)
229
+ info = StatsManager.get_metric_info(metric) or {}
230
+ group = info.get("group", "other")
231
+
232
+ if group == "tool":
233
+ categorized_stats["tool"]["metrics"][metric] = int(total)
234
+ elif group == "code_agent":
235
+ # 根据指标名称细分
236
+ if metric.startswith("code_lines_"):
237
+ categorized_stats["lines"]["metrics"][metric] = int(total)
238
+ elif "commit" in metric:
239
+ categorized_stats["commit"]["metrics"][metric] = int(total)
240
+ else:
241
+ categorized_stats["code"]["metrics"][metric] = int(total)
242
+ elif group == "command":
243
+ categorized_stats["command"]["metrics"][metric] = int(total)
244
+ else:
245
+ categorized_stats["other"]["metrics"][metric] = int(total)
255
246
 
256
247
  # 合并长短命令的历史统计数据
257
248
  command_stats = categorized_stats["command"]["metrics"]
@@ -560,7 +551,7 @@ def _show_usage_stats(welcome_str: str) -> None:
560
551
  layout_items: List[RenderableType] = []
561
552
  layout_items.append(right_column_group)
562
553
  if has_content:
563
- layout_items.append(table)
554
+ layout_items.append(Align.center(table))
564
555
  layout_renderable = Group(*layout_items)
565
556
  else:
566
557
  # 左右布局(当前)
@@ -576,8 +567,8 @@ def _show_usage_stats(welcome_str: str) -> None:
576
567
  layout_table.add_column(ratio=5) # 右侧
577
568
 
578
569
  if has_content:
579
- # 将总结信息放在左侧,统计表格放在右侧
580
- layout_table.add_row(right_column_group, table)
570
+ # 将总结信息放在左侧,统计表格放在右侧(表格居中显示)
571
+ layout_table.add_row(right_column_group, Align.center(table))
581
572
  else:
582
573
  # 如果没有统计数据,则总结信息占满
583
574
  layout_table.add_row(right_column_group)
@@ -1161,7 +1152,7 @@ def while_success(func: Callable[[], Any], sleep_time: float = 0.1) -> Any:
1161
1152
  return func()
1162
1153
  except Exception as e:
1163
1154
  PrettyOutput.print(
1164
- f"执行失败: {str(e)}, 等待 {sleep_time}s...", OutputType.WARNING
1155
+ f"重试中,等待 {sleep_time}s...", OutputType.WARNING
1165
1156
  )
1166
1157
  time.sleep(sleep_time)
1167
1158
  continue
@@ -1185,7 +1176,7 @@ def while_true(func: Callable[[], bool], sleep_time: float = 0.1) -> Any:
1185
1176
  ret = func()
1186
1177
  if ret:
1187
1178
  break
1188
- PrettyOutput.print(f"执行失败, 等待 {sleep_time}s...", OutputType.WARNING)
1179
+ PrettyOutput.print(f"重试中,等待 {sleep_time}s...", OutputType.WARNING)
1189
1180
  time.sleep(sleep_time)
1190
1181
  return ret
1191
1182
 
@@ -1267,7 +1258,7 @@ def _pull_git_repo(repo_path: Path, repo_type: str):
1267
1258
  if not git_dir.is_dir():
1268
1259
  return
1269
1260
 
1270
- PrettyOutput.print(f"正在更新{repo_type}库 '{repo_path.name}'...", OutputType.INFO)
1261
+
1271
1262
  try:
1272
1263
  # 检查是否有远程仓库
1273
1264
  remote_result = subprocess.run(
@@ -1281,10 +1272,6 @@ def _pull_git_repo(repo_path: Path, repo_type: str):
1281
1272
  timeout=10,
1282
1273
  )
1283
1274
  if not remote_result.stdout.strip():
1284
- PrettyOutput.print(
1285
- f"'{repo_path.name}' 未配置远程仓库,跳过更新。",
1286
- OutputType.INFO,
1287
- )
1288
1275
  return
1289
1276
 
1290
1277
  # 检查git仓库状态
@@ -1356,10 +1343,6 @@ def _pull_git_repo(repo_path: Path, repo_type: str):
1356
1343
  )
1357
1344
 
1358
1345
  if not ls_remote_result.stdout.strip():
1359
- PrettyOutput.print(
1360
- f"{repo_type}库 '{repo_path.name}' 的远程仓库是空的,跳过更新。",
1361
- OutputType.INFO,
1362
- )
1363
1346
  return
1364
1347
 
1365
1348
  # 执行 git pull
@@ -1387,12 +1370,6 @@ def _pull_git_repo(repo_path: Path, repo_type: str):
1387
1370
  PrettyOutput.print(
1388
1371
  f"{repo_type}库 '{repo_path.name}' 已更新。", OutputType.SUCCESS
1389
1372
  )
1390
- if pull_result.stdout.strip():
1391
- PrettyOutput.print(pull_result.stdout.strip(), OutputType.INFO)
1392
- else:
1393
- PrettyOutput.print(
1394
- f"{repo_type}库 '{repo_path.name}' 已是最新版本。", OutputType.INFO
1395
- )
1396
1373
 
1397
1374
  except FileNotFoundError:
1398
1375
  PrettyOutput.print(
@@ -1433,7 +1410,7 @@ def daily_check_git_updates(repo_dirs: List[str], repo_type: str):
1433
1410
  pass
1434
1411
 
1435
1412
  if should_check_for_updates:
1436
- PrettyOutput.print(f"执行每日{repo_type}库更新检查...", OutputType.INFO)
1413
+
1437
1414
  for repo_dir in repo_dirs:
1438
1415
  p_repo_dir = Path(repo_dir)
1439
1416
  if p_repo_dir.exists() and p_repo_dir.is_dir():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.3.18
3
+ Version: 0.3.19
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
@@ -1,13 +1,13 @@
1
- jarvis/__init__.py,sha256=eisXBkZRskk0UfOl67I_qJsb6X02Qf1GdCO0ehxK5Kg,74
2
- jarvis/jarvis_agent/__init__.py,sha256=91tUBzlh0xvV6tP7RKoxmAAoL3cc-E3Ysma6FS8lknE,32664
1
+ jarvis/__init__.py,sha256=WDyBQWvbgGmONVjrNHI5MHAMmGizwEtYWsHjLSpflxk,74
2
+ jarvis/jarvis_agent/__init__.py,sha256=6N0D8ah8QVxDs155-d1FhxQcZt3enHUQMKyOabiLaPw,33201
3
3
  jarvis/jarvis_agent/agent_manager.py,sha256=YzpMiF0H2-eyk2kn2o24Bkj3bXsQx7Pv2vfD4gWepo0,2893
4
4
  jarvis/jarvis_agent/builtin_input_handler.py,sha256=wS-FqpT3pIXwHn1dfL3SpXonUKWgVThbQueUIeyRc2U,2917
5
5
  jarvis/jarvis_agent/config_editor.py,sha256=Ctk82sO6w2cNW0-_5L7Bomj-hgM4U7WwMc52fwhAJyg,1809
6
- jarvis/jarvis_agent/edit_file_handler.py,sha256=w-byNJ4TN_SlV3djjfFC7OksySOFGrM8ku49w662dzc,11854
6
+ jarvis/jarvis_agent/edit_file_handler.py,sha256=bkvCghB_X-CQKuIG7dJfos8F1KNnHSLNhldraVgqVk8,11209
7
7
  jarvis/jarvis_agent/file_methodology_manager.py,sha256=PwDUQwq7HVIyPInsN8fgWyMXLwi8heIXPrqfBZJhVHs,4260
8
8
  jarvis/jarvis_agent/jarvis.py,sha256=J_R27hZUTGattEAKppkeCoklMJoEFHjAycsCMRjYA7o,19340
9
9
  jarvis/jarvis_agent/main.py,sha256=Hu5u0mq0owuzt965IqaGP6TtVGFXHE4E4Tg1TzCtGYE,3552
10
- jarvis/jarvis_agent/memory_manager.py,sha256=F7HTNzdN1_-cSygnz7zKSJRJvPLUOosqcXQeiW8zG4U,5266
10
+ jarvis/jarvis_agent/memory_manager.py,sha256=T3DXY-j9NGkAZFtpmARi4nWsm6XFlPEhEnLbri0EaJA,5280
11
11
  jarvis/jarvis_agent/methodology_share_manager.py,sha256=AB_J9BwRgaeENQfL6bH83FOLeLrgHhppMb7psJNevKs,6874
12
12
  jarvis/jarvis_agent/output_handler.py,sha256=P7oWpXBGFfOsWq7cIhS_z9crkQ19ES7qU5pM92KKjAs,1172
13
13
  jarvis/jarvis_agent/prompt_builder.py,sha256=PH1fPDVa8z_RXkoXHJFNDf8PQjUoLNLYwkh2lC__p40,1705
@@ -16,14 +16,14 @@ jarvis/jarvis_agent/protocols.py,sha256=JWnJDikFEuwvFUv7uzXu0ggJ4O9K2FkMnfVCwIJ5
16
16
  jarvis/jarvis_agent/session_manager.py,sha256=5wVcaZGwJ9cEKTQglSbqyxUDJ2fI5KxYN8C8L16UWLw,3024
17
17
  jarvis/jarvis_agent/share_manager.py,sha256=wFcdULSog1mMxDyB94ofbqitFL8DCX8i1u6qVzSEuAk,8704
18
18
  jarvis/jarvis_agent/shell_input_handler.py,sha256=1IboqdxcJuoIqRpmDU10GugR9fWXUHyCEbVF4nIWbyo,1328
19
- jarvis/jarvis_agent/task_analyzer.py,sha256=-fQ9YBYFcc-Z1FSoDIPzRfAgkREFoIOXtU2TdBkB-e0,4656
20
- jarvis/jarvis_agent/task_manager.py,sha256=IRfkjkeSjSo5rDKmzICdsJtJiVfTOf3Xc13qMVwl5ZM,4689
21
- jarvis/jarvis_agent/tool_executor.py,sha256=k73cKhZEZpljvui4ZxALlFEIE-iLzJ32Softsmiwzqk,1896
19
+ jarvis/jarvis_agent/task_analyzer.py,sha256=W9Pm2AB0kNhbFos3Qh6tpe5gA-x8e566IhIKvJkQJmg,4667
20
+ jarvis/jarvis_agent/task_manager.py,sha256=hP2PF_mgmmATD3h5HHDdkU_m3_LBOK1eZGZ3gh-9Kh8,4851
21
+ jarvis/jarvis_agent/tool_executor.py,sha256=gyVahM_d4hzYxiYJD209tVSbXO8SpKi1pohEDmyAmnc,1768
22
22
  jarvis/jarvis_agent/tool_share_manager.py,sha256=Do08FRxis0ynwR2a6iRoa6Yq0qCP8NkuhMbPrimaxMA,5169
23
23
  jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- jarvis/jarvis_code_agent/code_agent.py,sha256=GhY79JRzyLeeNKxNJtgieO9UvqQl36S7W521ZyOwjMY,30967
24
+ jarvis/jarvis_code_agent/code_agent.py,sha256=CEAtFLyXpStUsJOF-EazudcO1Hh4bRDpUpK4SPJaPHA,30669
25
25
  jarvis/jarvis_code_agent/lint.py,sha256=LZPsfyZPMo7Wm7LN4osZocuNJwZx1ojacO3MlF870x8,4009
26
- jarvis/jarvis_code_analysis/code_review.py,sha256=OLoMtXz7Kov6cVTdBoxq_OsX_j0rb7Rk3or5tKgiLpo,36023
26
+ jarvis/jarvis_code_analysis/code_review.py,sha256=8Ai5UdptEYem7Hj-VXIk4zXS6ySuFXRzl0GIc6ZKeLc,35798
27
27
  jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=LIXAYa1sW3l7foP6kohLWnE98I_EQ0T7z5bYKHq6rJA,78
28
28
  jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=9t62bMqs6qTkFSio4SKkj88qyb5ZubWrw3MxJBQ4X1A,1317
29
29
  jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=ShPXrl2_UPAnGaCHAG2wLl90COG3HK2XCSr1UK2dxN4,2420
@@ -48,80 +48,80 @@ jarvis/jarvis_data/config_schema.json,sha256=uNSkluPJyZCZla7lRO4TkwOxsp4L_fNxNSm
48
48
  jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
49
49
  jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  jarvis/jarvis_git_squash/main.py,sha256=6PECdAbTbrsJBRLK1pXBh4hdJ_LADh-XXSic1xJi97E,2255
51
- jarvis/jarvis_git_utils/git_commiter.py,sha256=GpSnVa72b9yWoJBbK1Qp_Kb4iimwVW6K7JjXF5pCfnk,15894
51
+ jarvis/jarvis_git_utils/git_commiter.py,sha256=6SiWyuxIRrOnoK6tGI1Vl2qiB242B_J8smmNYQgdl5Q,15261
52
52
  jarvis/jarvis_mcp/__init__.py,sha256=OPMtjD-uq9xAaKCRIDyKIosaFfBe1GBPu1az-mQ0rVM,2048
53
53
  jarvis/jarvis_mcp/sse_mcp_client.py,sha256=neKrgFxwLDPWjVrl9uDt1ricNwbLZbv1ZEFh0IkmqZk,22656
54
54
  jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=APYUksYKlMx7AVNODKOLrTkKZPnp4kqTQIYIuNDDKko,11286
55
55
  jarvis/jarvis_mcp/streamable_mcp_client.py,sha256=P5keAhI7SsVjAq3nU9J7pp2Tk4pJDxjdPAb6ZcVPLEc,15279
56
56
  jarvis/jarvis_memory_organizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  jarvis/jarvis_memory_organizer/memory_organizer.py,sha256=4tf6Bs8u6Drj4repvuY3-XeH2Sb6ajVMFcW-rQEiGEY,26502
58
- jarvis/jarvis_methodology/main.py,sha256=6QF8hH3vB6rfxim0fPR34uVPf41zVpb4ZLqrFN2qONg,10983
58
+ jarvis/jarvis_methodology/main.py,sha256=DtfgvuFdJl7IoccoyTSdZdnwOd2ghBmN55Gu7eZPFX8,11311
59
59
  jarvis/jarvis_multi_agent/__init__.py,sha256=kCgtAX7VvliyEOQxIj2DvNjRAuh6bpNaOtDn60nzph4,6089
60
60
  jarvis/jarvis_multi_agent/main.py,sha256=b9IThFMeUZCYSlgT-VT8r7xeBdrEE_zNT11awEc8IdY,1853
61
61
  jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
62
62
  jarvis/jarvis_platform/ai8.py,sha256=W3947AGMpk3RRBfsfZmf222sEP0VIGoSU0vPkgiVnl0,11683
63
- jarvis/jarvis_platform/base.py,sha256=r-tSm3b817PB1IC7ejLqypnDf8ziTvgJN_qV-m_J_uM,9743
63
+ jarvis/jarvis_platform/base.py,sha256=IzahTsZvzSPhQoqczDON1iPD9q5y-FM8N6TfW991gJg,9959
64
64
  jarvis/jarvis_platform/human.py,sha256=jWjW8prEag79e6ddqTPV4nz_Gz6zFBfO4a1EbvP8QWA,4908
65
- jarvis/jarvis_platform/kimi.py,sha256=imbH575fazyDai5pxB6zbHmzwzS4Ig0RP7WVpni-ooI,15175
65
+ jarvis/jarvis_platform/kimi.py,sha256=k7CVJlTPDTPTBqWwbxZa3HJXGhQtDNf3zv-Lu9sONiw,15520
66
66
  jarvis/jarvis_platform/openai.py,sha256=0YSeDGHRSPQP2haEzFARx_aZH_d_UZ-HSCsJLh2hW5k,8037
67
67
  jarvis/jarvis_platform/registry.py,sha256=1bMy0YZUa8NLzuZlKfC4CBtpa0iniypTxUZk0Hv6g9Y,8415
68
- jarvis/jarvis_platform/tongyi.py,sha256=KXEMfylTU91kHisXSaiz8dxzNXK_d7XD9vjuw4yXuVs,22891
69
- jarvis/jarvis_platform/yuanbao.py,sha256=32hjk1Ju1tqrMpF47JsSuaxej5K-gUPxjsDu9g0briY,23575
68
+ jarvis/jarvis_platform/tongyi.py,sha256=fw7PvB3FKGbztF29RrY4-YKSXp1-5TMy8RYw-g56ypA,23300
69
+ jarvis/jarvis_platform/yuanbao.py,sha256=mn7jxrab2CeVRtcwgQxGUhz90RRb9qK1iKz4rmFskOI,23858
70
70
  jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
71
  jarvis/jarvis_platform_manager/main.py,sha256=_G64sTDNyCcag82UhPZzrlS9t1__Qe_GBR8d16dhQV0,20909
72
72
  jarvis/jarvis_platform_manager/service.py,sha256=DnuRJjD7RvunGt3LpMfUDr-Bps-Nb--frkeaC0nwxj0,14874
73
73
  jarvis/jarvis_rag/__init__.py,sha256=HRTXgnQxDuaE9x-e3r6SYqhJ5d4DSI_rrIxy2IGY6qk,320
74
74
  jarvis/jarvis_rag/cache.py,sha256=Tqx_Oe-AhuWlMXHGHUaIuG6OEHoHBVZq7mL3kldtFFU,2723
75
- jarvis/jarvis_rag/cli.py,sha256=bIQKibp8swJDyfFBXaiX5C20LHN_2W2knO2I-MQp58c,15620
76
- jarvis/jarvis_rag/embedding_manager.py,sha256=BoV6Vr_3F4zbjBAOQ1FdEBnJXGPwBkv1IEkdRP9CgFw,3338
77
- jarvis/jarvis_rag/llm_interface.py,sha256=eZHibNHD5dFK9yolr3hYNNhAEZUsPA-cIf1uHapI2h8,4338
75
+ jarvis/jarvis_rag/cli.py,sha256=w79ZVVtNKbmNoYuDDzhprbxLZsDGv5hGe7uwk0ktB6k,16553
76
+ jarvis/jarvis_rag/embedding_manager.py,sha256=HAPTDn9GeJInpjM_Pz3cndUoH3Arvnjf6AgisoCMrNU,3605
77
+ jarvis/jarvis_rag/llm_interface.py,sha256=YHdcM7N7R9BgfNSaZWYIWwIVp_wKe00Lv0-nGKpm_5M,4533
78
78
  jarvis/jarvis_rag/query_rewriter.py,sha256=rmXj-j3jjsOR-Dj9Hk5exfCJqZ4uCxMFfvybzurpj5w,4047
79
- jarvis/jarvis_rag/rag_pipeline.py,sha256=MSVfTVqDRK1_m0SMeOBcqirAyrd8GsVC27vanMbUCUY,10598
80
- jarvis/jarvis_rag/reranker.py,sha256=wYUDIMHQL8_tFcQ7GFn_zYHTE1AbKk4a9TRoN2lKtA8,1767
81
- jarvis/jarvis_rag/retriever.py,sha256=vI-T_L6zdGOm2YCq98CEx0cevz8lKp0iVfjV4nQ3oJs,7681
79
+ jarvis/jarvis_rag/rag_pipeline.py,sha256=f0ktQIfNyBY4kanfttyGz_sZWB9DMhXPzeognEe6lxE,10870
80
+ jarvis/jarvis_rag/reranker.py,sha256=Uzn4n1bNj4kWyQu9-z-jK_5dAU6drn5jEugML-kFHg8,1885
81
+ jarvis/jarvis_rag/retriever.py,sha256=1nbw5m15drvYGbocLfGHO2FgXPSDKmT1k2unNk1IrXw,8067
82
82
  jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- jarvis/jarvis_smart_shell/main.py,sha256=ReCC9bWPlgl84ylI0uvdzlE3J6fS0XzFSLOpQQyDcMY,6008
83
+ jarvis/jarvis_smart_shell/main.py,sha256=zizfinG0yYETAE2SaRtF4OAxU3r92NdzhUqbPquiEB8,14601
84
84
  jarvis/jarvis_stats/__init__.py,sha256=jJzgP43nxzLbNGs8Do4Jfta1PNCJMf1Oq9YTPd6EnFM,342
85
85
  jarvis/jarvis_stats/cli.py,sha256=KqLH-9Kd_YlBJSke3QXY90XnFmiH2kYkRacL8ygtSsM,12649
86
- jarvis/jarvis_stats/stats.py,sha256=qLyOJvWAv0fgV7oohAUSQ2W2E1Hr4wWgEQXDOiI-4Cg,17674
87
- jarvis/jarvis_stats/storage.py,sha256=MBQRxExIWdePXzY1EE8JAs1IEpMqamImpgjruqt_u9A,12853
86
+ jarvis/jarvis_stats/stats.py,sha256=y3yo1aZvigbC9SAJFAVkoLLKxNYVcqoErTts_3ZYn9o,19193
87
+ jarvis/jarvis_stats/storage.py,sha256=WvABIbYZLOSHDQZkM4X-cZyFMi7rlbMskFMXqbhFxQk,21697
88
88
  jarvis/jarvis_stats/visualizer.py,sha256=ZIBmGELzs6c7qM01tQql1HF6eFKn6HDGVQfKXRUUIY0,8529
89
89
  jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
90
  jarvis/jarvis_tools/ask_user.py,sha256=M6DdLNryCE8y1JcdZHEifUgZkPUEPNKc-zDW5p0Mb1k,2029
91
91
  jarvis/jarvis_tools/base.py,sha256=tFZkRlbV_a-pbjM-ci9AYmXVJm__FXuzVWKbQEyz4Ao,1639
92
- jarvis/jarvis_tools/clear_memory.py,sha256=HQMK70UJhhDgPPHozGaTpYizzQblUzYRwPbvD1z3z6o,8730
93
- jarvis/jarvis_tools/edit_file.py,sha256=hM345E9rxS-EkqCZpwwizL6fmPdTadtB798tEO5Ce3g,10417
94
- jarvis/jarvis_tools/execute_script.py,sha256=gMarE5yCCSPU6Dp6HlcL2KT-2xCzR-1p-oQNlYOJK58,6157
95
- jarvis/jarvis_tools/file_analyzer.py,sha256=aVe1jBSp0YmlypihxrGADJpYrU_7CxDETxGUNySuSlI,4044
96
- jarvis/jarvis_tools/generate_new_tool.py,sha256=uaWKlDMGjetvvwKTj0_AVTdmd14IktRbU3cpzKCBiIQ,8728
92
+ jarvis/jarvis_tools/clear_memory.py,sha256=_GlwqlCAsoHeB24Y1CnjLdMawRTc6cq55AA8Yi5AZg4,8249
93
+ jarvis/jarvis_tools/edit_file.py,sha256=8L7JPNGo-St3hhu8DXCFE2NWqbaXrgP8iYUQ7yyfdFs,10225
94
+ jarvis/jarvis_tools/execute_script.py,sha256=kASNTShHVGlHm7pZZxUeyEZHzHAYiZ-87AzrYVyORMw,6231
95
+ jarvis/jarvis_tools/file_analyzer.py,sha256=EEeOYNaaIU-tw8i4HlC6-19qNWWxgFQFx1VBC_52ZxY,3915
96
+ jarvis/jarvis_tools/generate_new_tool.py,sha256=R55VEymgZgmgFcy-dkJP0RHAJkHMRQMBfH0zEYlAhQ8,7866
97
97
  jarvis/jarvis_tools/methodology.py,sha256=_K4GIDUodGEma3SvNRo7Qs5rliijgNespVLyAPN35JU,5233
98
- jarvis/jarvis_tools/read_code.py,sha256=EnI-R-5HyIQYhMD391nZWXHIuHHBF-OJIRE0QpLcPX4,6417
99
- jarvis/jarvis_tools/read_webpage.py,sha256=76XwQC_w5wz-ivwsrhvi-tVYixsRcQStnjTS4M999QA,5551
100
- jarvis/jarvis_tools/registry.py,sha256=IJ2ExlNqje2hA9MgiGnd0SCyy0zqAhxuZ76s_98FGwU,32668
101
- jarvis/jarvis_tools/retrieve_memory.py,sha256=0UBZm4wQTXLTj5WHXR9fjsiIDQh-Z2UINVu8cJ12YYg,9488
102
- jarvis/jarvis_tools/rewrite_file.py,sha256=eG_WKg6cVAXmuGwUqlWkcuyay5S8DOzEi8vZCmX3O8w,7255
103
- jarvis/jarvis_tools/save_memory.py,sha256=DjeFb38OtK9Y_RpWYHz8vL72JdauXZTlc_Y0FUQBtiM,7486
104
- jarvis/jarvis_tools/search_web.py,sha256=Ch11Pacxk83WDfhXUDfavL3S9JYl72HkZyFQjFZbSew,6764
105
- jarvis/jarvis_tools/virtual_tty.py,sha256=LTsg1PlsPvgaLShUaxpAKwTpyjXRr0l0qSREI7Q-fBc,26349
98
+ jarvis/jarvis_tools/read_code.py,sha256=Z5HxrSQ6xsjbTJkVKGH8W3oa6WR1TKTFUewChUBolQ0,6101
99
+ jarvis/jarvis_tools/read_webpage.py,sha256=MHmQk3jiHEXtFd7uf-0VwZwktfxrkUo9WQGZ_FT3ygY,5101
100
+ jarvis/jarvis_tools/registry.py,sha256=GEdmQ_NiSINP-lxmAmbT-QG6d8YInlY-zgEbbgXGoOM,31255
101
+ jarvis/jarvis_tools/retrieve_memory.py,sha256=6r826xApFjboyzHMKN8Z3YbriDlfbylPaRj_e2OtuEU,8641
102
+ jarvis/jarvis_tools/rewrite_file.py,sha256=CuvjWPTbUaPbex9FKSmw_Ru4r6R-CX_3vqTqCTp8nHA,6959
103
+ jarvis/jarvis_tools/save_memory.py,sha256=dYK2H-oB4--RK-YrjmeL0Q7_d9aO6WN5giZzYqLp3pY,7013
104
+ jarvis/jarvis_tools/search_web.py,sha256=T1mMnYkekrer6FLMrdVHNVWoO7PoguKe67Fkkr0DadI,6183
105
+ jarvis/jarvis_tools/virtual_tty.py,sha256=E4MzU-yH8N0hrBVzsB71KJJKoT5KN5JlS14MKHDgJi4,25224
106
106
  jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
- jarvis/jarvis_tools/cli/main.py,sha256=GsfZJ4OS4Hvxh0H2XiLkgbzm-ajBsb4c0LyjuIAAatE,7718
107
+ jarvis/jarvis_tools/cli/main.py,sha256=H_Rdp7WMiPDxuUha_lsWds6PAAwy-2j0IhLlgmjP2Ro,8435
108
108
  jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
109
109
  jarvis/jarvis_utils/builtin_replace_map.py,sha256=4BurljGuiG_I93EBs7mlFlPm9wYC_4CmdTG5tQWpF6g,1712
110
- jarvis/jarvis_utils/clipboard.py,sha256=WgbQIQR2sh7_5ZzeX04eT3zXx_mxQbKyJOZXgGX_TcI,2907
110
+ jarvis/jarvis_utils/clipboard.py,sha256=FOV4-tOMTyFrUZ6fOw68ArQE4gTiSXhLdsVtGVTZoFo,3010
111
111
  jarvis/jarvis_utils/config.py,sha256=my9u8QL-PhByAumthP4oJq2NtH_Wc6wd0DnUguAQUWk,17580
112
112
  jarvis/jarvis_utils/embedding.py,sha256=oEOEM2qf16DMYwPsQe6srET9BknyjOdY2ef0jsp3Or8,2714
113
113
  jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
114
114
  jarvis/jarvis_utils/git_utils.py,sha256=AkczUiRcGcOnPfz2v3mdLwV1S41IopiAYD2tjeMTDrE,23586
115
115
  jarvis/jarvis_utils/globals.py,sha256=aTrOHcCgPAeZFLFIWMAMiJCYlmr4XhdFZf5gZ745hnE,8900
116
116
  jarvis/jarvis_utils/http.py,sha256=eRhV3-GYuWmQ0ogq9di9WMlQkFcVb1zGCrySnOgT1x0,4392
117
- jarvis/jarvis_utils/input.py,sha256=YO1jdK9HObkGO44XfXHNNN3HNneD_WrbANYkfJmrdJU,14489
118
- jarvis/jarvis_utils/methodology.py,sha256=IIMU17WVSunsWXsnXROd4G77LxgYs4xEC_xm_0CDkjw,12554
119
- jarvis/jarvis_utils/output.py,sha256=QRLlKObQKT0KuRSeZRqYb7NlTQvsd1oZXZ41WxeWEuU,10894
117
+ jarvis/jarvis_utils/input.py,sha256=F7w0HjTIh-I661bHG-WyW0OTnhKFvge10ULMOZdVIbE,16296
118
+ jarvis/jarvis_utils/methodology.py,sha256=ypd2hraZWhzOfQ-bjfQprtcB27HBbpdcPW-NAfSAzd0,12640
119
+ jarvis/jarvis_utils/output.py,sha256=ktj7D6qMbd3nct1N24HQXCafJAaImMlQImGFYT6Cjhc,10678
120
120
  jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
121
- jarvis/jarvis_utils/utils.py,sha256=L_JPrTuBewcLH5JWRI82waj3Q5J67QYuD_ihB8e1WmE,52644
122
- jarvis_ai_assistant-0.3.18.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
123
- jarvis_ai_assistant-0.3.18.dist-info/METADATA,sha256=GR7eevhcqf1Mtt77yTcNFMx5Tyu8XRixGQeZp33TE2I,18216
124
- jarvis_ai_assistant-0.3.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
125
- jarvis_ai_assistant-0.3.18.dist-info/entry_points.txt,sha256=4GcWKFxRJD-QU14gw_3ZaW4KuEVxOcZK9i270rwPdjA,1395
126
- jarvis_ai_assistant-0.3.18.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
127
- jarvis_ai_assistant-0.3.18.dist-info/RECORD,,
121
+ jarvis/jarvis_utils/utils.py,sha256=iU1DdQvSCjedOgnExLMxSAjcZkSqmV5MAdu2t2RRSjw,51341
122
+ jarvis_ai_assistant-0.3.19.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
123
+ jarvis_ai_assistant-0.3.19.dist-info/METADATA,sha256=BaefbwI75RMWwu5A1k0T-4bKT6o5wsHGW6jBbZTLFso,18216
124
+ jarvis_ai_assistant-0.3.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
125
+ jarvis_ai_assistant-0.3.19.dist-info/entry_points.txt,sha256=4GcWKFxRJD-QU14gw_3ZaW4KuEVxOcZK9i270rwPdjA,1395
126
+ jarvis_ai_assistant-0.3.19.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
127
+ jarvis_ai_assistant-0.3.19.dist-info/RECORD,,