jarvis-ai-assistant 0.5.0__py3-none-any.whl → 0.5.1__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 +102 -5
- jarvis/jarvis_agent/jarvis.py +6 -0
- jarvis/jarvis_agent/task_planner.py +218 -0
- jarvis/jarvis_code_agent/code_agent.py +8 -1
- jarvis/jarvis_data/config_schema.json +6 -1
- jarvis/jarvis_sec/README.md +180 -0
- jarvis/jarvis_sec/__init__.py +674 -0
- jarvis/jarvis_sec/checkers/__init__.py +33 -0
- jarvis/jarvis_sec/checkers/c_checker.py +1269 -0
- jarvis/jarvis_sec/checkers/rust_checker.py +367 -0
- jarvis/jarvis_sec/cli.py +110 -0
- jarvis/jarvis_sec/prompts.py +324 -0
- jarvis/jarvis_sec/report.py +260 -0
- jarvis/jarvis_sec/types.py +20 -0
- jarvis/jarvis_sec/workflow.py +513 -0
- jarvis/jarvis_tools/sub_agent.py +4 -3
- jarvis/jarvis_tools/sub_code_agent.py +3 -3
- jarvis/jarvis_utils/config.py +14 -2
- jarvis/jarvis_utils/utils.py +137 -2
- {jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/METADATA +1 -1
- {jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/RECORD +26 -15
- {jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/entry_points.txt +2 -0
- {jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/top_level.txt +0 -0
jarvis/jarvis_utils/utils.py
CHANGED
|
@@ -6,6 +6,8 @@ import signal
|
|
|
6
6
|
import subprocess
|
|
7
7
|
import sys
|
|
8
8
|
import time
|
|
9
|
+
import atexit
|
|
10
|
+
import errno
|
|
9
11
|
from pathlib import Path
|
|
10
12
|
from typing import Any, Callable, Dict, List, Optional, Tuple
|
|
11
13
|
from datetime import datetime, date
|
|
@@ -205,6 +207,130 @@ def _setup_signal_handler() -> None:
|
|
|
205
207
|
signal.signal(signal.SIGINT, sigint_handler)
|
|
206
208
|
|
|
207
209
|
|
|
210
|
+
# ----------------------------
|
|
211
|
+
# 单实例文件锁(放置于初始化早期使用)
|
|
212
|
+
# ----------------------------
|
|
213
|
+
_INSTANCE_LOCK_PATH: Optional[Path] = None
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def _get_instance_lock_path(lock_name: str = "instance.lock") -> Path:
|
|
217
|
+
try:
|
|
218
|
+
data_dir = Path(str(get_data_dir()))
|
|
219
|
+
except Exception:
|
|
220
|
+
data_dir = Path(os.path.expanduser("~/.jarvis"))
|
|
221
|
+
data_dir.mkdir(parents=True, exist_ok=True)
|
|
222
|
+
return data_dir / lock_name
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def _read_lock_owner_pid(lock_path: Path) -> Optional[int]:
|
|
226
|
+
try:
|
|
227
|
+
txt = lock_path.read_text(encoding="utf-8", errors="ignore").strip()
|
|
228
|
+
if not txt:
|
|
229
|
+
return None
|
|
230
|
+
try:
|
|
231
|
+
info = json.loads(txt)
|
|
232
|
+
pid = info.get("pid")
|
|
233
|
+
return int(pid) if pid is not None else None
|
|
234
|
+
except Exception:
|
|
235
|
+
# 兼容纯数字PID
|
|
236
|
+
return int(txt)
|
|
237
|
+
except Exception:
|
|
238
|
+
return None
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
def _is_process_alive(pid: int) -> bool:
|
|
242
|
+
if pid is None or pid <= 0:
|
|
243
|
+
return False
|
|
244
|
+
try:
|
|
245
|
+
os.kill(pid, 0)
|
|
246
|
+
except ProcessLookupError:
|
|
247
|
+
return False
|
|
248
|
+
except PermissionError:
|
|
249
|
+
# 无权限但进程存在
|
|
250
|
+
return True
|
|
251
|
+
except OSError as e:
|
|
252
|
+
# 某些平台上,EPERM 表示进程存在但无权限
|
|
253
|
+
if getattr(e, "errno", None) == errno.EPERM:
|
|
254
|
+
return True
|
|
255
|
+
return False
|
|
256
|
+
else:
|
|
257
|
+
return True
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
def _release_instance_lock() -> None:
|
|
261
|
+
global _INSTANCE_LOCK_PATH
|
|
262
|
+
try:
|
|
263
|
+
if _INSTANCE_LOCK_PATH and _INSTANCE_LOCK_PATH.exists():
|
|
264
|
+
_INSTANCE_LOCK_PATH.unlink()
|
|
265
|
+
except Exception:
|
|
266
|
+
# 清理失败不影响退出
|
|
267
|
+
pass
|
|
268
|
+
_INSTANCE_LOCK_PATH = None
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def _acquire_single_instance_lock(lock_name: str = "instance.lock") -> None:
|
|
272
|
+
"""
|
|
273
|
+
在数据目录(~/.jarvis 或配置的数据目录)下创建实例锁,防止重复启动。
|
|
274
|
+
如果检测到已有存活实例,提示后退出。
|
|
275
|
+
"""
|
|
276
|
+
global _INSTANCE_LOCK_PATH
|
|
277
|
+
lock_path = _get_instance_lock_path(lock_name)
|
|
278
|
+
|
|
279
|
+
# 已存在锁:检查是否为有效存活实例
|
|
280
|
+
if lock_path.exists():
|
|
281
|
+
pid = _read_lock_owner_pid(lock_path)
|
|
282
|
+
if pid and _is_process_alive(pid):
|
|
283
|
+
PrettyOutput.print(
|
|
284
|
+
f"检测到已有一个 Jarvis 实例正在运行 (PID: {pid})。\n"
|
|
285
|
+
f"如果确认不存在正在运行的实例,请删除锁文件后重试:{lock_path}",
|
|
286
|
+
OutputType.WARNING,
|
|
287
|
+
)
|
|
288
|
+
sys.exit(0)
|
|
289
|
+
# 尝试移除陈旧锁
|
|
290
|
+
try:
|
|
291
|
+
lock_path.unlink()
|
|
292
|
+
except Exception:
|
|
293
|
+
PrettyOutput.print(
|
|
294
|
+
f"无法删除旧锁文件:{lock_path},请手动清理后重试。",
|
|
295
|
+
OutputType.ERROR,
|
|
296
|
+
)
|
|
297
|
+
sys.exit(1)
|
|
298
|
+
|
|
299
|
+
# 原子创建锁文件,避免并发竞争
|
|
300
|
+
flags = os.O_CREAT | os.O_EXCL | os.O_WRONLY
|
|
301
|
+
try:
|
|
302
|
+
fd = os.open(str(lock_path), flags)
|
|
303
|
+
with os.fdopen(fd, "w", encoding="utf-8") as fp:
|
|
304
|
+
payload = {
|
|
305
|
+
"pid": os.getpid(),
|
|
306
|
+
"time": int(time.time()),
|
|
307
|
+
"argv": sys.argv[:10],
|
|
308
|
+
}
|
|
309
|
+
try:
|
|
310
|
+
fp.write(json.dumps(payload, ensure_ascii=False))
|
|
311
|
+
except Exception:
|
|
312
|
+
fp.write(str(os.getpid()))
|
|
313
|
+
_INSTANCE_LOCK_PATH = lock_path
|
|
314
|
+
atexit.register(_release_instance_lock)
|
|
315
|
+
except FileExistsError:
|
|
316
|
+
# 极端并发下再次校验
|
|
317
|
+
pid = _read_lock_owner_pid(lock_path)
|
|
318
|
+
if pid and _is_process_alive(pid):
|
|
319
|
+
PrettyOutput.print(
|
|
320
|
+
f"检测到已有一个 Jarvis 实例正在运行 (PID: {pid})。",
|
|
321
|
+
OutputType.WARNING,
|
|
322
|
+
)
|
|
323
|
+
sys.exit(0)
|
|
324
|
+
PrettyOutput.print(
|
|
325
|
+
f"锁文件已存在但可能为陈旧状态:{lock_path},请手动删除后重试。",
|
|
326
|
+
OutputType.ERROR,
|
|
327
|
+
)
|
|
328
|
+
sys.exit(1)
|
|
329
|
+
except Exception as e:
|
|
330
|
+
PrettyOutput.print(f"创建实例锁失败: {e}", OutputType.ERROR)
|
|
331
|
+
sys.exit(1)
|
|
332
|
+
|
|
333
|
+
|
|
208
334
|
def _check_pip_updates() -> bool:
|
|
209
335
|
"""检查pip安装的Jarvis是否有更新
|
|
210
336
|
|
|
@@ -1289,12 +1415,21 @@ def _collect_optional_config_interactively(
|
|
|
1289
1415
|
)
|
|
1290
1416
|
or changed
|
|
1291
1417
|
)
|
|
1418
|
+
# 规划相关:最大递归层数(仅在启用规划时生效,CLI --plan/--no-plan 控制启用)
|
|
1419
|
+
changed = (
|
|
1420
|
+
_ask_and_set_int(
|
|
1421
|
+
"JARVIS_PLAN_MAX_DEPTH",
|
|
1422
|
+
"任务规划的最大层数(限制递归拆分深度,默认2;仅在启用规划时生效)",
|
|
1423
|
+
3,
|
|
1424
|
+
)
|
|
1425
|
+
or changed
|
|
1426
|
+
)
|
|
1292
1427
|
# 新增:自动总结轮次与脚本超时
|
|
1293
1428
|
changed = (
|
|
1294
1429
|
_ask_and_set_int(
|
|
1295
1430
|
"JARVIS_AUTO_SUMMARY_ROUNDS",
|
|
1296
|
-
"基于对话轮次的自动总结阈值(达到该轮次后自动总结并清理历史,默认
|
|
1297
|
-
|
|
1431
|
+
"基于对话轮次的自动总结阈值(达到该轮次后自动总结并清理历史,默认50)",
|
|
1432
|
+
50,
|
|
1298
1433
|
)
|
|
1299
1434
|
or changed
|
|
1300
1435
|
)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=
|
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=
|
|
1
|
+
jarvis/__init__.py,sha256=sOKEklWEZaCxQadO6f1UkOMRanbgJ3rJjjBTWjm6JC4,73
|
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=uEd9UrrHK5CRpOVSCxPESfxcAclMfoRacQrzVzQLiEk,56763
|
|
3
3
|
jarvis/jarvis_agent/agent_manager.py,sha256=Q0S-mYTPt8Xd7RKGoLWoWU_RP_wEXFWxCjve8_t2f2A,3807
|
|
4
4
|
jarvis/jarvis_agent/builtin_input_handler.py,sha256=wS-FqpT3pIXwHn1dfL3SpXonUKWgVThbQueUIeyRc2U,2917
|
|
5
5
|
jarvis/jarvis_agent/config_editor.py,sha256=hlb9EYxKWcR_qdW2O89CgNDdciR9Isi743JU_1gD8j4,1927
|
|
@@ -8,7 +8,7 @@ jarvis/jarvis_agent/event_bus.py,sha256=pRdfk7d0OG18K6yNfWlCvAh_dW5p9sBtT2Yc3jGm
|
|
|
8
8
|
jarvis/jarvis_agent/events.py,sha256=rmFQ37PasImCh7OCdCzNBvubk-kHwcUiYLgzmL0t0_4,3689
|
|
9
9
|
jarvis/jarvis_agent/file_context_handler.py,sha256=2MPn_O_2llX39meFg272Cjk3wMPn5nmgbGMUyX06YQo,2113
|
|
10
10
|
jarvis/jarvis_agent/file_methodology_manager.py,sha256=LnhgTx5xQXCBK8esjCkFbgFm9iEyFX7TryUlC40Kzpw,4428
|
|
11
|
-
jarvis/jarvis_agent/jarvis.py,sha256=
|
|
11
|
+
jarvis/jarvis_agent/jarvis.py,sha256=eZpONtA7mFZtG6v-xQeVElXAWtl3ZZrrp4jgvtlK96c,48925
|
|
12
12
|
jarvis/jarvis_agent/main.py,sha256=IgS7d3rng2vFlu983OUeCkOAosKjFAn1sFCk3gT9J9Q,4563
|
|
13
13
|
jarvis/jarvis_agent/memory_manager.py,sha256=WSyUffx9xTmkcj4QrSLEfsjI3sTMUwZmkkC9_N_gTjo,8042
|
|
14
14
|
jarvis/jarvis_agent/methodology_share_manager.py,sha256=AB_J9BwRgaeENQfL6bH83FOLeLrgHhppMb7psJNevKs,6874
|
|
@@ -25,6 +25,7 @@ jarvis/jarvis_agent/shell_input_handler.py,sha256=wiAPjB-9uTkcLszbO5dlOUwIfaeR39
|
|
|
25
25
|
jarvis/jarvis_agent/stdio_redirect.py,sha256=xqF-sENitpefCT3TA9oRwATFqbDrU2dvqM-UiMZRhbE,9944
|
|
26
26
|
jarvis/jarvis_agent/task_analyzer.py,sha256=JXc-63hnTD7oSX-nIfRcgxqCMhh4fM4QYVc7C1gp--M,7813
|
|
27
27
|
jarvis/jarvis_agent/task_manager.py,sha256=lme_aN8vaF_a4Tvv2kaSEnWATy8RPSjogTxeLnEYZdg,6504
|
|
28
|
+
jarvis/jarvis_agent/task_planner.py,sha256=MaoyyMkpbs-QmYjLZOKmNLsDXmlKwM89_UaqGI1geGw,10600
|
|
28
29
|
jarvis/jarvis_agent/tool_executor.py,sha256=k73cKhZEZpljvui4ZxALlFEIE-iLzJ32Softsmiwzqk,1896
|
|
29
30
|
jarvis/jarvis_agent/tool_share_manager.py,sha256=Do08FRxis0ynwR2a6iRoa6Yq0qCP8NkuhMbPrimaxMA,5169
|
|
30
31
|
jarvis/jarvis_agent/user_interaction.py,sha256=tifFN49GkO_Q80sqOTVmhxwbNWTazF3K0cr8AnnvzdU,1453
|
|
@@ -33,7 +34,7 @@ jarvis/jarvis_agent/web_bridge.py,sha256=h15PXuPWWfZynWt8bPW4BDeCpIVoIOlRXfO0je6
|
|
|
33
34
|
jarvis/jarvis_agent/web_output_sink.py,sha256=sZ6WbLZnuCdT5dS9d8msHY_g-pnj-dvML-I6uJ7-sbc,1733
|
|
34
35
|
jarvis/jarvis_agent/web_server.py,sha256=oZZy4nAOPhRWJn7K8VjBlho1F9AsvLEYiusKgipjO94,28204
|
|
35
36
|
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
|
37
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=1jdIZUgHFoevFljoZiDOO0Zxs_oKR_vJS4-eUSTSqPY,42720
|
|
37
38
|
jarvis/jarvis_code_agent/lint.py,sha256=_qLJB_bC3PuoHG-j4EGOnYzNGO26jHlKLbkysfyQW1c,3954
|
|
38
39
|
jarvis/jarvis_code_analysis/code_review.py,sha256=48r0UE4pmOUaRgBJIJrpPW307sKGo1rnTNkWdsqkOrY,29889
|
|
39
40
|
jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=LIXAYa1sW3l7foP6kohLWnE98I_EQ0T7z5bYKHq6rJA,78
|
|
@@ -56,7 +57,7 @@ jarvis/jarvis_code_analysis/checklists/shell.py,sha256=aRFYhQQvTgbYd-uY5pc8UHIUA
|
|
|
56
57
|
jarvis/jarvis_code_analysis/checklists/sql.py,sha256=vR0T6qC7b4dURjJVAd7kSVxyvZEQXPG1Jqc2sNTGp5c,2355
|
|
57
58
|
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQpOLEbH2Y7LXg1uBgxc,2566
|
|
58
59
|
jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
|
|
59
|
-
jarvis/jarvis_data/config_schema.json,sha256=
|
|
60
|
+
jarvis/jarvis_data/config_schema.json,sha256=5tNhALZ61smZP7VzppWxs99LP21RY3gB1wrqemQ-xoo,15358
|
|
60
61
|
jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
|
|
61
62
|
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
63
|
jarvis/jarvis_git_squash/main.py,sha256=BRbsEQVXwseVFKliVqV8_JPh1om6QT6dLTHw0jQ7OE0,2474
|
|
@@ -91,6 +92,16 @@ jarvis/jarvis_rag/query_rewriter.py,sha256=LGAWZ8kwH_dpquuYqc4QWC7IXmHX3SsnPSYMW
|
|
|
91
92
|
jarvis/jarvis_rag/rag_pipeline.py,sha256=aaTuxiArtVaPemWeySApw64q204JeLNXpOEtq7Adn1I,13797
|
|
92
93
|
jarvis/jarvis_rag/reranker.py,sha256=7Azc3y5fngwfPKtzZ8tx6iGKNeqC8uDy8yo8VCyLyL4,2670
|
|
93
94
|
jarvis/jarvis_rag/retriever.py,sha256=J4jO0492yHEwxJz_Cp2WP3vGHRHKj56rDyWZQ2W0XdA,18374
|
|
95
|
+
jarvis/jarvis_sec/README.md,sha256=0GpTAOAupOGEAv0juLJXEBBfaa6KL74t2nRbj0N5Mkw,7621
|
|
96
|
+
jarvis/jarvis_sec/__init__.py,sha256=SYgHZcxoV4xgjdal1S04u7QXCQJdgPpwiAxmEcK1pYg,25690
|
|
97
|
+
jarvis/jarvis_sec/cli.py,sha256=_DWWcYscLWCyIs5k7bKjXSBkQPxLbYLJKkU0QuTaeZs,3494
|
|
98
|
+
jarvis/jarvis_sec/prompts.py,sha256=ObGFNvrCtbIhsWlJHYQ5tcsTkuBlID0FozncYCv8S8k,14165
|
|
99
|
+
jarvis/jarvis_sec/report.py,sha256=5wLKqK-CDFZ2fPtwP3sGYgjAi69TKoYizyLK1cchDVA,8516
|
|
100
|
+
jarvis/jarvis_sec/types.py,sha256=_C3IHwnni3kApryP3c_UTYdvFdmlJSVXQLLefX94zl0,365
|
|
101
|
+
jarvis/jarvis_sec/workflow.py,sha256=DokD8ZBcAfyiq078OM7rmZdpWrOXAL_7ZGkLF2TOqcc,20187
|
|
102
|
+
jarvis/jarvis_sec/checkers/__init__.py,sha256=ZF7zHJS6P6cu9VE3kMc66DK7m-Ki2bmMkwkap5mm26g,786
|
|
103
|
+
jarvis/jarvis_sec/checkers/c_checker.py,sha256=ezW_-9wwzLxYEENd3HhdgDnLfJiLccJacJklTOnVXgw,53498
|
|
104
|
+
jarvis/jarvis_sec/checkers/rust_checker.py,sha256=SBobyUjN1rDzFPESZ6uif3PR3HUW6Mux2ofxeqRUJ2Q,13483
|
|
94
105
|
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
106
|
jarvis/jarvis_smart_shell/main.py,sha256=lUJPwLR9RlaaVv0lx3ojjjv5dELHOaindlsLDDkpssQ,14960
|
|
96
107
|
jarvis/jarvis_stats/__init__.py,sha256=jJzgP43nxzLbNGs8Do4Jfta1PNCJMf1Oq9YTPd6EnFM,342
|
|
@@ -112,15 +123,15 @@ jarvis/jarvis_tools/registry.py,sha256=KDDuaQC_Ej8nGKk2P5W7uMV22BQQx_lSf9dLrLZ6o
|
|
|
112
123
|
jarvis/jarvis_tools/retrieve_memory.py,sha256=hhhGSr7jebPHICY9oEKICyI8mfqsRtKjh58qZNZApKc,8624
|
|
113
124
|
jarvis/jarvis_tools/save_memory.py,sha256=RQtNxcpU53FFv_EBjH0i0oyQ7jWubm-trD1BHuqaGjI,6985
|
|
114
125
|
jarvis/jarvis_tools/search_web.py,sha256=Hi8WBxcRH02qjOF1qcJP2qSqs3kVOKGFAARfh548Ii4,6370
|
|
115
|
-
jarvis/jarvis_tools/sub_agent.py,sha256=
|
|
116
|
-
jarvis/jarvis_tools/sub_code_agent.py,sha256=
|
|
126
|
+
jarvis/jarvis_tools/sub_agent.py,sha256=oV_-R5kAnocA3X8yrxtccGKa6UIo08_YbMQB0ozCPzU,8534
|
|
127
|
+
jarvis/jarvis_tools/sub_code_agent.py,sha256=F9iY0XgYsHJEdfMo_0UR646qYbj61t4jIUVnrq9zPuE,9479
|
|
117
128
|
jarvis/jarvis_tools/virtual_tty.py,sha256=L7-J00ARQvIa25T45Hhqg2eCBl6W2LFgqDlWMWf-7dk,25275
|
|
118
129
|
jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
119
130
|
jarvis/jarvis_tools/cli/main.py,sha256=WL2GNV7WqYl7G1-btRGvCkzDCMk4fPfNvzCrnUFVPxs,9323
|
|
120
131
|
jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
|
|
121
132
|
jarvis/jarvis_utils/builtin_replace_map.py,sha256=z8iAqsbZUiGFaozxG1xSu128op8udqHOeEw-GxNt4bU,1708
|
|
122
133
|
jarvis/jarvis_utils/clipboard.py,sha256=D3wzQeqg_yiH7Axs4d6MRxyNa9XxdnenH-ND2uj2WVQ,2967
|
|
123
|
-
jarvis/jarvis_utils/config.py,sha256=
|
|
134
|
+
jarvis/jarvis_utils/config.py,sha256=7aGTlZMpXC0PhZeu3WD3asBAC0hf4xlAmFep-ObwtR0,22918
|
|
124
135
|
jarvis/jarvis_utils/embedding.py,sha256=x6mrkL7Bc3qgfuBDsjc4fg4nKG8ofGxVLVVydbsb8PY,2838
|
|
125
136
|
jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
|
|
126
137
|
jarvis/jarvis_utils/fzf.py,sha256=vCs0Uh5dUqGbWzXn2JCtLLCOYE2B39ZNdNveR9PK4DA,1681
|
|
@@ -131,10 +142,10 @@ jarvis/jarvis_utils/input.py,sha256=4VXpUZoAocW1mldlZd4bmXI8a_CmcQj7IPLBNgNLGSI,
|
|
|
131
142
|
jarvis/jarvis_utils/methodology.py,sha256=YuuKBjr58cu8QWcniU7QVlEM9Cem6wo4IYcq1iwSDMw,13158
|
|
132
143
|
jarvis/jarvis_utils/output.py,sha256=y2fVcao_2ZowFl0IxUrJZCi8T6ZM0z-iPzpk8T8eLxc,13623
|
|
133
144
|
jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
|
|
134
|
-
jarvis/jarvis_utils/utils.py,sha256=
|
|
135
|
-
jarvis_ai_assistant-0.5.
|
|
136
|
-
jarvis_ai_assistant-0.5.
|
|
137
|
-
jarvis_ai_assistant-0.5.
|
|
138
|
-
jarvis_ai_assistant-0.5.
|
|
139
|
-
jarvis_ai_assistant-0.5.
|
|
140
|
-
jarvis_ai_assistant-0.5.
|
|
145
|
+
jarvis/jarvis_utils/utils.py,sha256=bN7HxVBs3Hoa8xM4NtOaKXpSm7WbhwwRyU4jE0v8NjY,78702
|
|
146
|
+
jarvis_ai_assistant-0.5.1.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
147
|
+
jarvis_ai_assistant-0.5.1.dist-info/METADATA,sha256=DeO39HTIYe-SziDd5J0lWoiPuADScAqzRdC7hIgiL6o,18751
|
|
148
|
+
jarvis_ai_assistant-0.5.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
149
|
+
jarvis_ai_assistant-0.5.1.dist-info/entry_points.txt,sha256=wS5YtI-Patr7PIB_DaKzlbDuQ2cDmQSDljA6psIkjbM,1469
|
|
150
|
+
jarvis_ai_assistant-0.5.1.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
151
|
+
jarvis_ai_assistant-0.5.1.dist-info/RECORD,,
|
{jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/entry_points.txt
RENAMED
|
@@ -11,6 +11,7 @@ jarvis-methodology = jarvis.jarvis_methodology.main:main
|
|
|
11
11
|
jarvis-multi-agent = jarvis.jarvis_multi_agent.main:main
|
|
12
12
|
jarvis-platform-manager = jarvis.jarvis_platform_manager.main:main
|
|
13
13
|
jarvis-rag = jarvis.jarvis_rag.cli:main
|
|
14
|
+
jarvis-sec = jarvis.jarvis_sec.cli:main
|
|
14
15
|
jarvis-smart-shell = jarvis.jarvis_smart_shell.main:main
|
|
15
16
|
jarvis-stats = jarvis.jarvis_stats.cli:main
|
|
16
17
|
jarvis-tool = jarvis.jarvis_tools.cli.main:main
|
|
@@ -23,6 +24,7 @@ jma = jarvis.jarvis_multi_agent.main:main
|
|
|
23
24
|
jmo = jarvis.jarvis_memory_organizer.memory_organizer:main
|
|
24
25
|
jpm = jarvis.jarvis_platform_manager.main:main
|
|
25
26
|
jrg = jarvis.jarvis_rag.cli:main
|
|
27
|
+
jsec = jarvis.jarvis_sec.cli:main
|
|
26
28
|
jss = jarvis.jarvis_smart_shell.main:main
|
|
27
29
|
jst = jarvis.jarvis_stats.cli:main
|
|
28
30
|
jt = jarvis.jarvis_tools.cli.main:main
|
|
File without changes
|
{jarvis_ai_assistant-0.5.0.dist-info → jarvis_ai_assistant-0.5.1.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|