jarvis-ai-assistant 0.3.26__py3-none-any.whl → 0.3.27__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.
- jarvis/__init__.py +1 -1
- jarvis/jarvis_agent/__init__.py +290 -173
- jarvis/jarvis_agent/config.py +92 -0
- jarvis/jarvis_agent/event_bus.py +48 -0
- jarvis/jarvis_agent/jarvis.py +69 -35
- jarvis/jarvis_agent/memory_manager.py +70 -2
- jarvis/jarvis_agent/prompt_manager.py +82 -0
- jarvis/jarvis_agent/run_loop.py +130 -0
- jarvis/jarvis_agent/task_analyzer.py +88 -9
- jarvis/jarvis_agent/task_manager.py +26 -0
- jarvis/jarvis_agent/user_interaction.py +42 -0
- jarvis/jarvis_code_agent/code_agent.py +18 -3
- jarvis/jarvis_code_agent/lint.py +5 -5
- jarvis/jarvis_data/config_schema.json +7 -6
- jarvis/jarvis_git_squash/main.py +6 -1
- jarvis/jarvis_git_utils/git_commiter.py +38 -12
- jarvis/jarvis_platform/base.py +4 -5
- jarvis/jarvis_platform_manager/main.py +28 -11
- jarvis/jarvis_stats/cli.py +13 -32
- jarvis/jarvis_stats/stats.py +179 -51
- jarvis/jarvis_tools/registry.py +15 -0
- jarvis/jarvis_tools/sub_agent.py +94 -84
- jarvis/jarvis_tools/sub_code_agent.py +12 -6
- jarvis/jarvis_utils/config.py +14 -0
- jarvis/jarvis_utils/fzf.py +56 -0
- jarvis/jarvis_utils/input.py +0 -3
- jarvis/jarvis_utils/utils.py +56 -8
- {jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/METADATA +2 -3
- {jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/RECORD +33 -27
- {jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""FZF selector utility."""
|
3
|
+
import shutil
|
4
|
+
import subprocess
|
5
|
+
from typing import List, Optional, Union
|
6
|
+
|
7
|
+
def fzf_select(
|
8
|
+
options: Union[List[str], List[dict]],
|
9
|
+
prompt: str = "SELECT> ",
|
10
|
+
key: Optional[str] = None,
|
11
|
+
) -> Optional[str]:
|
12
|
+
"""
|
13
|
+
Uses fzf to select an item from a list.
|
14
|
+
|
15
|
+
Args:
|
16
|
+
options: A list of strings or dicts to choose from.
|
17
|
+
prompt: The prompt to display in fzf.
|
18
|
+
key: If options is a list of dicts, this is the key to display.
|
19
|
+
|
20
|
+
Returns:
|
21
|
+
The selected item, or None if fzf is not available or the selection is cancelled.
|
22
|
+
"""
|
23
|
+
if shutil.which("fzf") is None:
|
24
|
+
return None
|
25
|
+
|
26
|
+
if not options:
|
27
|
+
return None
|
28
|
+
|
29
|
+
if isinstance(options[0], dict):
|
30
|
+
if key is None:
|
31
|
+
raise ValueError("A key must be provided for a list of dicts.")
|
32
|
+
input_lines = [str(item.get(key, "")) for item in options]
|
33
|
+
else:
|
34
|
+
input_lines = [str(item) for item in options]
|
35
|
+
|
36
|
+
try:
|
37
|
+
process = subprocess.run(
|
38
|
+
[
|
39
|
+
"fzf",
|
40
|
+
"--prompt",
|
41
|
+
prompt,
|
42
|
+
"--height",
|
43
|
+
"40%",
|
44
|
+
"--border",
|
45
|
+
"--layout=reverse",
|
46
|
+
],
|
47
|
+
input="\n".join(input_lines),
|
48
|
+
stdout=subprocess.PIPE,
|
49
|
+
stderr=subprocess.PIPE,
|
50
|
+
text=True,
|
51
|
+
check=True,
|
52
|
+
)
|
53
|
+
selected = process.stdout.strip()
|
54
|
+
return selected if selected else None
|
55
|
+
except (subprocess.CalledProcessError, FileNotFoundError):
|
56
|
+
return None
|
jarvis/jarvis_utils/input.py
CHANGED
@@ -605,9 +605,6 @@ def _get_multiline_input_internal(
|
|
605
605
|
("class:bt.key", "Ctrl+O"),
|
606
606
|
("class:bt.label", " 历史复制 "),
|
607
607
|
("class:bt.sep", " • "),
|
608
|
-
("class:bt.key", "@"),
|
609
|
-
("class:bt.label", " FZF文件 "),
|
610
|
-
("class:bt.sep", " • "),
|
611
608
|
("class:bt.key", "Ctrl+T"),
|
612
609
|
("class:bt.label", " 终端(!SHELL) "),
|
613
610
|
("class:bt.sep", " • "),
|
jarvis/jarvis_utils/utils.py
CHANGED
@@ -1179,6 +1179,46 @@ def _collect_optional_config_interactively(
|
|
1179
1179
|
or changed
|
1180
1180
|
)
|
1181
1181
|
|
1182
|
+
# Git 校验模式
|
1183
|
+
def _ask_git_check_mode() -> bool:
|
1184
|
+
try:
|
1185
|
+
_key = "JARVIS_GIT_CHECK_MODE"
|
1186
|
+
if not ask_all and _key in config_data:
|
1187
|
+
return False
|
1188
|
+
|
1189
|
+
from jarvis.jarvis_utils.input import get_choice
|
1190
|
+
from jarvis.jarvis_utils.config import get_git_check_mode
|
1191
|
+
|
1192
|
+
current_mode = config_data.get(_key, get_git_check_mode())
|
1193
|
+
choices = ["strict", "warn"]
|
1194
|
+
tip = (
|
1195
|
+
"请选择 Git 仓库检查模式 (JARVIS_GIT_CHECK_MODE):\n"
|
1196
|
+
"此设置决定了当在 Git 仓库中检测到未提交的更改时,Jarvis应如何处理。\n"
|
1197
|
+
"这对于确保代码修改和提交操作在干净的工作区上进行至关重要。\n"
|
1198
|
+
" - strict: (推荐) 如果存在未提交的更改,则中断相关操作(如代码修改、自动提交)。\n"
|
1199
|
+
" 这可以防止意外覆盖或丢失本地工作。\n"
|
1200
|
+
" - warn: 如果存在未提交的更改,仅显示警告信息,然后继续执行操作。\n"
|
1201
|
+
" 适用于您希望绕过检查并自行管理仓库状态的场景。"
|
1202
|
+
)
|
1203
|
+
|
1204
|
+
try:
|
1205
|
+
# 查找当前模式在选项中的索引
|
1206
|
+
default_index = choices.index(current_mode)
|
1207
|
+
except ValueError:
|
1208
|
+
default_index = 0 # 默认为第一个选项
|
1209
|
+
|
1210
|
+
new_mode = get_choice(tip, choices, default_index)
|
1211
|
+
|
1212
|
+
if new_mode == current_mode:
|
1213
|
+
return False
|
1214
|
+
|
1215
|
+
config_data[_key] = new_mode
|
1216
|
+
return True
|
1217
|
+
except Exception:
|
1218
|
+
return False
|
1219
|
+
|
1220
|
+
changed = _ask_git_check_mode() or changed
|
1221
|
+
|
1182
1222
|
# Git 提交提示词(可选)
|
1183
1223
|
changed = (
|
1184
1224
|
_ask_and_set_optional_str(
|
@@ -1498,34 +1538,39 @@ def _read_old_config_file(config_file):
|
|
1498
1538
|
)
|
1499
1539
|
|
1500
1540
|
|
1501
|
-
def while_success(func: Callable[[], Any], sleep_time: float = 0.1) -> Any:
|
1541
|
+
def while_success(func: Callable[[], Any], sleep_time: float = 0.1, max_retries: int = 5) -> Any:
|
1502
1542
|
"""循环执行函数直到成功(累计日志后统一打印,避免逐次加框)
|
1503
1543
|
|
1504
1544
|
参数:
|
1505
1545
|
func -- 要执行的函数
|
1506
1546
|
sleep_time -- 每次失败后的等待时间(秒)
|
1547
|
+
max_retries -- 最大重试次数,默认5次
|
1507
1548
|
|
1508
1549
|
返回:
|
1509
1550
|
函数执行结果
|
1510
1551
|
"""
|
1511
1552
|
result: Any = None
|
1512
|
-
|
1553
|
+
retry_count = 0
|
1554
|
+
while retry_count < max_retries:
|
1513
1555
|
try:
|
1514
1556
|
result = func()
|
1515
1557
|
break
|
1516
1558
|
except Exception:
|
1517
|
-
|
1518
|
-
|
1559
|
+
retry_count += 1
|
1560
|
+
if retry_count < max_retries:
|
1561
|
+
PrettyOutput.print(f"重试中 ({retry_count}/{max_retries}),等待 {sleep_time}s...", OutputType.WARNING)
|
1562
|
+
time.sleep(sleep_time)
|
1519
1563
|
continue
|
1520
1564
|
return result
|
1521
1565
|
|
1522
1566
|
|
1523
|
-
def while_true(func: Callable[[], bool], sleep_time: float = 0.1) -> Any:
|
1567
|
+
def while_true(func: Callable[[], bool], sleep_time: float = 0.1, max_retries: int = 5) -> Any:
|
1524
1568
|
"""循环执行函数直到返回True(累计日志后统一打印,避免逐次加框)
|
1525
1569
|
|
1526
1570
|
参数:
|
1527
1571
|
func: 要执行的函数,必须返回布尔值
|
1528
1572
|
sleep_time: 每次失败后的等待时间(秒)
|
1573
|
+
max_retries: 最大重试次数,默认5次
|
1529
1574
|
|
1530
1575
|
返回:
|
1531
1576
|
函数最终返回的True值
|
@@ -1535,12 +1580,15 @@ def while_true(func: Callable[[], bool], sleep_time: float = 0.1) -> Any:
|
|
1535
1580
|
不捕获异常,异常会直接抛出
|
1536
1581
|
"""
|
1537
1582
|
ret: bool = False
|
1538
|
-
|
1583
|
+
retry_count = 0
|
1584
|
+
while retry_count < max_retries:
|
1539
1585
|
ret = func()
|
1540
1586
|
if ret:
|
1541
1587
|
break
|
1542
|
-
|
1543
|
-
|
1588
|
+
retry_count += 1
|
1589
|
+
if retry_count < max_retries:
|
1590
|
+
PrettyOutput.print(f"重试中 ({retry_count}/{max_retries}),等待 {sleep_time}s...", OutputType.WARNING)
|
1591
|
+
time.sleep(sleep_time)
|
1544
1592
|
return ret
|
1545
1593
|
|
1546
1594
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: jarvis-ai-assistant
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.27
|
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
|
@@ -64,8 +64,7 @@ Requires-Dist: plotext==5.2.8
|
|
64
64
|
Requires-Dist: packaging>=24.2
|
65
65
|
Provides-Extra: dev
|
66
66
|
Requires-Dist: pytest; extra == "dev"
|
67
|
-
Requires-Dist:
|
68
|
-
Requires-Dist: isort; extra == "dev"
|
67
|
+
Requires-Dist: ruff; extra == "dev"
|
69
68
|
Requires-Dist: mypy; extra == "dev"
|
70
69
|
Requires-Dist: build; extra == "dev"
|
71
70
|
Requires-Dist: twine; extra == "dev"
|
@@ -1,28 +1,33 @@
|
|
1
|
-
jarvis/__init__.py,sha256=
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=
|
1
|
+
jarvis/__init__.py,sha256=DlhBYMC44U1RQMIeyt3Nd2Eh37aTzGgUrvliKlFIIBE,74
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=TjR_LJ56XBYrh4ip1OWF6jYpJdAqTc_zJM2pjxjzYjI,42363
|
3
3
|
jarvis/jarvis_agent/agent_manager.py,sha256=mmDe26Wa1Dnyp8CkTKupcKipC-5HSuCnk-oVJseOdTg,2801
|
4
4
|
jarvis/jarvis_agent/builtin_input_handler.py,sha256=wS-FqpT3pIXwHn1dfL3SpXonUKWgVThbQueUIeyRc2U,2917
|
5
|
+
jarvis/jarvis_agent/config.py,sha256=Ni1aTVzmdERJ89A1jsC21Tsys_9MM-TTx1w5XwxyEwA,3130
|
5
6
|
jarvis/jarvis_agent/config_editor.py,sha256=IHyuwI4SRDrqxz8lO0NNgt2F3uYAw1WEKXMxQV49bYI,1928
|
6
7
|
jarvis/jarvis_agent/edit_file_handler.py,sha256=5sFz84jqy2gpc0aLOre2bvz8_DitlBoWZs_cQwftWLw,11570
|
8
|
+
jarvis/jarvis_agent/event_bus.py,sha256=-QVAGTe3B2Cu3-FGkw78l8XikS4vPZ-D61ajUtplOCU,1515
|
7
9
|
jarvis/jarvis_agent/file_methodology_manager.py,sha256=PwDUQwq7HVIyPInsN8fgWyMXLwi8heIXPrqfBZJhVHs,4260
|
8
|
-
jarvis/jarvis_agent/jarvis.py,sha256=
|
10
|
+
jarvis/jarvis_agent/jarvis.py,sha256=IAt5QWOR2ZTAsuLGXPf13FZ-rixRZg3hDnk4cAZ9m70,24012
|
9
11
|
jarvis/jarvis_agent/main.py,sha256=bFcwXWC6O05jQiXy6ED_bHjdjDo5VwV_i1BoBEAzgP0,3336
|
10
|
-
jarvis/jarvis_agent/memory_manager.py,sha256=
|
12
|
+
jarvis/jarvis_agent/memory_manager.py,sha256=fOCmH3QDq9D-tsFKauI0GHER-gGfEPhRDo97MqeUBtg,8003
|
11
13
|
jarvis/jarvis_agent/methodology_share_manager.py,sha256=AB_J9BwRgaeENQfL6bH83FOLeLrgHhppMb7psJNevKs,6874
|
12
14
|
jarvis/jarvis_agent/output_handler.py,sha256=P7oWpXBGFfOsWq7cIhS_z9crkQ19ES7qU5pM92KKjAs,1172
|
13
15
|
jarvis/jarvis_agent/prompt_builder.py,sha256=PH1fPDVa8z_RXkoXHJFNDf8PQjUoLNLYwkh2lC__p40,1705
|
16
|
+
jarvis/jarvis_agent/prompt_manager.py,sha256=_1qLBSA3yn4nT_N3X2npTpW40Cp-pMeyvnzu-pnG0iU,2720
|
14
17
|
jarvis/jarvis_agent/prompts.py,sha256=X6cXa-n0xqBQ8LDTgLsD0kqziAh1s0cNp89i4mxcvHg,9444
|
15
18
|
jarvis/jarvis_agent/protocols.py,sha256=JWnJDikFEuwvFUv7uzXu0ggJ4O9K2FkMnfVCwIJ5REw,873
|
19
|
+
jarvis/jarvis_agent/run_loop.py,sha256=MccMT_8lPS4H8QaF7YuatKZR4ucBzy71H-_6mIZliB4,4885
|
16
20
|
jarvis/jarvis_agent/session_manager.py,sha256=5wVcaZGwJ9cEKTQglSbqyxUDJ2fI5KxYN8C8L16UWLw,3024
|
17
21
|
jarvis/jarvis_agent/share_manager.py,sha256=MF2RlomcgPxF8nVUk28DP6IRddZ_tot5l_YRvy0qXSQ,8726
|
18
22
|
jarvis/jarvis_agent/shell_input_handler.py,sha256=YjzmtcBUqJDYeD1i1cA1betUKaGOcvKNo8biayYEfc8,1860
|
19
|
-
jarvis/jarvis_agent/task_analyzer.py,sha256=
|
20
|
-
jarvis/jarvis_agent/task_manager.py,sha256=
|
23
|
+
jarvis/jarvis_agent/task_analyzer.py,sha256=5TcS9nltqcm_gb-6I3wuc0Tc8pOgTrQSiwrJdkGDdSw,7676
|
24
|
+
jarvis/jarvis_agent/task_manager.py,sha256=voR-L8okMWRKxZh79FsER0DaUHk-fKOzijXlDiQzJxs,6399
|
21
25
|
jarvis/jarvis_agent/tool_executor.py,sha256=k73cKhZEZpljvui4ZxALlFEIE-iLzJ32Softsmiwzqk,1896
|
22
26
|
jarvis/jarvis_agent/tool_share_manager.py,sha256=Do08FRxis0ynwR2a6iRoa6Yq0qCP8NkuhMbPrimaxMA,5169
|
27
|
+
jarvis/jarvis_agent/user_interaction.py,sha256=rMQjJoTrabZMmt-SOtg1UPCqxTdPDOaPOhfmCwE773M,1463
|
23
28
|
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
25
|
-
jarvis/jarvis_code_agent/lint.py,sha256=
|
29
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=2er9wAgYeMibaZLgWBq5vDLjO734aWEaxkpKxCsw_XM,32101
|
30
|
+
jarvis/jarvis_code_agent/lint.py,sha256=_qLJB_bC3PuoHG-j4EGOnYzNGO26jHlKLbkysfyQW1c,3954
|
26
31
|
jarvis/jarvis_code_analysis/code_review.py,sha256=99izndiYBDcDJBu-gAXqpUkN9usmFfYroqJkZUw7AwA,34481
|
27
32
|
jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=LIXAYa1sW3l7foP6kohLWnE98I_EQ0T7z5bYKHq6rJA,78
|
28
33
|
jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=9t62bMqs6qTkFSio4SKkj88qyb5ZubWrw3MxJBQ4X1A,1317
|
@@ -44,11 +49,11 @@ jarvis/jarvis_code_analysis/checklists/shell.py,sha256=aRFYhQQvTgbYd-uY5pc8UHIUA
|
|
44
49
|
jarvis/jarvis_code_analysis/checklists/sql.py,sha256=vR0T6qC7b4dURjJVAd7kSVxyvZEQXPG1Jqc2sNTGp5c,2355
|
45
50
|
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQpOLEbH2Y7LXg1uBgxc,2566
|
46
51
|
jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
|
47
|
-
jarvis/jarvis_data/config_schema.json,sha256=
|
52
|
+
jarvis/jarvis_data/config_schema.json,sha256=fXISAybgeJOmXHPK0j3XjBgA25mn6ZHz7Qq8dl1O9wU,12863
|
48
53
|
jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
|
49
54
|
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
|
-
jarvis/jarvis_git_squash/main.py,sha256=
|
51
|
-
jarvis/jarvis_git_utils/git_commiter.py,sha256=
|
55
|
+
jarvis/jarvis_git_squash/main.py,sha256=BRbsEQVXwseVFKliVqV8_JPh1om6QT6dLTHw0jQ7OE0,2474
|
56
|
+
jarvis/jarvis_git_utils/git_commiter.py,sha256=mWuP_undXLkrok26gmO83PjBDKc0dPolWEciemXRXos,15790
|
52
57
|
jarvis/jarvis_mcp/__init__.py,sha256=OPMtjD-uq9xAaKCRIDyKIosaFfBe1GBPu1az-mQ0rVM,2048
|
53
58
|
jarvis/jarvis_mcp/sse_mcp_client.py,sha256=UIDBaFNuuaJE0YiKmtbZTqwZpkDI5SaS0my1DIJj-3g,22831
|
54
59
|
jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=APYUksYKlMx7AVNODKOLrTkKZPnp4kqTQIYIuNDDKko,11286
|
@@ -60,7 +65,7 @@ jarvis/jarvis_multi_agent/__init__.py,sha256=Ygp4DBBkmEXCRcQV3nr07zOxo2Tb4149mi4
|
|
60
65
|
jarvis/jarvis_multi_agent/main.py,sha256=b9IThFMeUZCYSlgT-VT8r7xeBdrEE_zNT11awEc8IdY,1853
|
61
66
|
jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
|
62
67
|
jarvis/jarvis_platform/ai8.py,sha256=g8JkqPGs9SEbqstNMCc5rCHO0QcPHX9LNvb7HMWwB-Q,11471
|
63
|
-
jarvis/jarvis_platform/base.py,sha256=
|
68
|
+
jarvis/jarvis_platform/base.py,sha256=wKZJConlNtqpr2w5IGIxu4fNMt8Yr2w8banQJH0wn64,13505
|
64
69
|
jarvis/jarvis_platform/human.py,sha256=jWjW8prEag79e6ddqTPV4nz_Gz6zFBfO4a1EbvP8QWA,4908
|
65
70
|
jarvis/jarvis_platform/kimi.py,sha256=dLES_E0VmDQ3TwjTZk5vCGdbvdBeSVvvlXR90m6vPfY,15711
|
66
71
|
jarvis/jarvis_platform/openai.py,sha256=0YSeDGHRSPQP2haEzFARx_aZH_d_UZ-HSCsJLh2hW5k,8037
|
@@ -68,7 +73,7 @@ jarvis/jarvis_platform/registry.py,sha256=uwQvivGKuDT2LI-e_jUPvPR8Qyc7KTANkWGZLM
|
|
68
73
|
jarvis/jarvis_platform/tongyi.py,sha256=0UM1VLbBYrlNF5dSRqp2Kefeb0FkXhKhc7PnrsZWqOQ,23456
|
69
74
|
jarvis/jarvis_platform/yuanbao.py,sha256=W0aIQOZoHt4QGYYBYzRbVWlgwAdhzoCv93xD7v8Lvqc,24004
|
70
75
|
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
|
-
jarvis/jarvis_platform_manager/main.py,sha256=
|
76
|
+
jarvis/jarvis_platform_manager/main.py,sha256=yv7m8cNRBe4nk0Kui1w2PKTUr9Sb3wrQirvmyAUbr5U,20400
|
72
77
|
jarvis/jarvis_platform_manager/service.py,sha256=WG2r0JRBGfSLGdsKxqYvmaacU_ne3PTn3RkczTzUb_M,14899
|
73
78
|
jarvis/jarvis_rag/__init__.py,sha256=HRTXgnQxDuaE9x-e3r6SYqhJ5d4DSI_rrIxy2IGY6qk,320
|
74
79
|
jarvis/jarvis_rag/cache.py,sha256=Tqx_Oe-AhuWlMXHGHUaIuG6OEHoHBVZq7mL3kldtFFU,2723
|
@@ -82,8 +87,8 @@ jarvis/jarvis_rag/retriever.py,sha256=BNEFZAgxTbmkxzBP1uy1wz3MX8wJN1wx5EtfsHqakq
|
|
82
87
|
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
88
|
jarvis/jarvis_smart_shell/main.py,sha256=JizPfVI-7-GqnYxdg77RHietGet6hZE6xUZoUCwKShE,14971
|
84
89
|
jarvis/jarvis_stats/__init__.py,sha256=jJzgP43nxzLbNGs8Do4Jfta1PNCJMf1Oq9YTPd6EnFM,342
|
85
|
-
jarvis/jarvis_stats/cli.py,sha256=
|
86
|
-
jarvis/jarvis_stats/stats.py,sha256=
|
90
|
+
jarvis/jarvis_stats/cli.py,sha256=ngKrJ5Y4fUqZ4ghcCTvk2mDZsKWZw1ZgvTtVWu9p9Ec,11552
|
91
|
+
jarvis/jarvis_stats/stats.py,sha256=XXBpU5vpi60rTpnTr3Nj7m7-uBQpnvopCj1CwU4rfew,25391
|
87
92
|
jarvis/jarvis_stats/storage.py,sha256=Lo2kPpqM4RDW0llkDWBTlij9B2k1FfmYgo05ekiaqoQ,22079
|
88
93
|
jarvis/jarvis_stats/visualizer.py,sha256=ZIBmGELzs6c7qM01tQql1HF6eFKn6HDGVQfKXRUUIY0,8529
|
89
94
|
jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -97,33 +102,34 @@ jarvis/jarvis_tools/generate_new_tool.py,sha256=OCHkBOCQflgMZXRP4vgX3blnJOUq-_Qk
|
|
97
102
|
jarvis/jarvis_tools/methodology.py,sha256=_K4GIDUodGEma3SvNRo7Qs5rliijgNespVLyAPN35JU,5233
|
98
103
|
jarvis/jarvis_tools/read_code.py,sha256=qeQZ_emyPI5RTFx4HSgLBtWSwh8V5chqMjxu2uKzmfY,6100
|
99
104
|
jarvis/jarvis_tools/read_webpage.py,sha256=YTmoalY8y-jdQuoj9IL6ZjXPOevUj2P_9arJngPhbUY,5317
|
100
|
-
jarvis/jarvis_tools/registry.py,sha256=
|
105
|
+
jarvis/jarvis_tools/registry.py,sha256=xjlOvyWM8xzT6WJs80G4AQN7ICMgXoPmOgKIKYPIn5U,32909
|
101
106
|
jarvis/jarvis_tools/retrieve_memory.py,sha256=hQ3s4IgBHtmUPzuWFl5Pc2FLEuT2gdi4l4NlUoO9pQM,8640
|
102
107
|
jarvis/jarvis_tools/rewrite_file.py,sha256=CuvjWPTbUaPbex9FKSmw_Ru4r6R-CX_3vqTqCTp8nHA,6959
|
103
108
|
jarvis/jarvis_tools/save_memory.py,sha256=QKj6iYZL2XxPX0NnU9HqvoDOpJZ38mJmatDmHLK2r74,7012
|
104
109
|
jarvis/jarvis_tools/search_web.py,sha256=8ugOcGBsAEg59pX_WS0WADuu7Klw7XGR6guEMz4OnwI,6181
|
105
|
-
jarvis/jarvis_tools/sub_agent.py,sha256=
|
106
|
-
jarvis/jarvis_tools/sub_code_agent.py,sha256=
|
110
|
+
jarvis/jarvis_tools/sub_agent.py,sha256=r1RRZwqIp0qiix-EAH8gJA_xECVLpenoCvcqD0a-qEM,7784
|
111
|
+
jarvis/jarvis_tools/sub_code_agent.py,sha256=FzsZPSgevDToLBUXnJECIjNDhMn4st6IiRLLWjoYLQw,8149
|
107
112
|
jarvis/jarvis_tools/virtual_tty.py,sha256=1AYrVNP5QCX1HGo-xi3XEP93cMWZUOkil4ki2gwf7dI,25504
|
108
113
|
jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
109
114
|
jarvis/jarvis_tools/cli/main.py,sha256=pyvSz0-hBduOqQShduv76UcB5wrK0v6MLonpub9AuXg,9334
|
110
115
|
jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
|
111
116
|
jarvis/jarvis_utils/builtin_replace_map.py,sha256=4BurljGuiG_I93EBs7mlFlPm9wYC_4CmdTG5tQWpF6g,1712
|
112
117
|
jarvis/jarvis_utils/clipboard.py,sha256=D3wzQeqg_yiH7Axs4d6MRxyNa9XxdnenH-ND2uj2WVQ,2967
|
113
|
-
jarvis/jarvis_utils/config.py,sha256=
|
118
|
+
jarvis/jarvis_utils/config.py,sha256=F_sjwrO5_vyZIfev8EzgtBtSYFTMdIanQ1cLrH-9txk,19120
|
114
119
|
jarvis/jarvis_utils/embedding.py,sha256=oEOEM2qf16DMYwPsQe6srET9BknyjOdY2ef0jsp3Or8,2714
|
115
120
|
jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
|
121
|
+
jarvis/jarvis_utils/fzf.py,sha256=92u4w5pd6cyxBJlmyw3rXNyxToSAalK79m_aEBmkgV0,1590
|
116
122
|
jarvis/jarvis_utils/git_utils.py,sha256=X-j4aopmzmAW8Uv5rs3SDRnsAQYwJRnR6gR8yxXGEWg,23500
|
117
123
|
jarvis/jarvis_utils/globals.py,sha256=aTrOHcCgPAeZFLFIWMAMiJCYlmr4XhdFZf5gZ745hnE,8900
|
118
124
|
jarvis/jarvis_utils/http.py,sha256=eRhV3-GYuWmQ0ogq9di9WMlQkFcVb1zGCrySnOgT1x0,4392
|
119
|
-
jarvis/jarvis_utils/input.py,sha256=
|
125
|
+
jarvis/jarvis_utils/input.py,sha256=J4ot3ldeCLbhrJdsoQVdl8L6BHg-dJhcrnP3UYL4vis,36502
|
120
126
|
jarvis/jarvis_utils/methodology.py,sha256=3PAMHVF85IflBBblV_mMwkYXMelUML0nZYZ8MOAYUJ8,12918
|
121
127
|
jarvis/jarvis_utils/output.py,sha256=svCHLuXHe3Ta_qfoT5DxO80nyYyMfBFIKgziQS__Nmg,13632
|
122
128
|
jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
|
123
|
-
jarvis/jarvis_utils/utils.py,sha256=
|
124
|
-
jarvis_ai_assistant-0.3.
|
125
|
-
jarvis_ai_assistant-0.3.
|
126
|
-
jarvis_ai_assistant-0.3.
|
127
|
-
jarvis_ai_assistant-0.3.
|
128
|
-
jarvis_ai_assistant-0.3.
|
129
|
-
jarvis_ai_assistant-0.3.
|
129
|
+
jarvis/jarvis_utils/utils.py,sha256=CBEr4CeA8npCX7HQT0z2rpr1FmuehrtjWz1dpUW2Uk8,65391
|
130
|
+
jarvis_ai_assistant-0.3.27.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
131
|
+
jarvis_ai_assistant-0.3.27.dist-info/METADATA,sha256=7hKr_nyMqxJ1qysd1ihzY44fdDinvJ18UoJ2gQlDjCc,18752
|
132
|
+
jarvis_ai_assistant-0.3.27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
133
|
+
jarvis_ai_assistant-0.3.27.dist-info/entry_points.txt,sha256=4GcWKFxRJD-QU14gw_3ZaW4KuEVxOcZK9i270rwPdjA,1395
|
134
|
+
jarvis_ai_assistant-0.3.27.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
135
|
+
jarvis_ai_assistant-0.3.27.dist-info/RECORD,,
|
File without changes
|
{jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/entry_points.txt
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.26.dist-info → jarvis_ai_assistant-0.3.27.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
File without changes
|