jarvis-ai-assistant 0.1.190__py3-none-any.whl → 0.1.192__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 +12 -39
- jarvis/jarvis_agent/jarvis.py +0 -2
- jarvis/jarvis_code_agent/code_agent.py +3 -8
- jarvis/jarvis_platform/base.py +11 -6
- jarvis/jarvis_platform/human.py +1 -1
- jarvis/jarvis_platform/kimi.py +1 -1
- jarvis/jarvis_platform/openai.py +10 -1
- jarvis/jarvis_platform/registry.py +1 -1
- jarvis/jarvis_platform/tongyi.py +1 -1
- jarvis/jarvis_platform/yuanbao.py +1 -1
- jarvis/jarvis_platform_manager/main.py +283 -125
- jarvis/jarvis_smart_shell/main.py +1 -1
- jarvis/jarvis_tools/file_analyzer.py +1 -1
- jarvis/jarvis_tools/registry.py +3 -3
- jarvis/jarvis_utils/globals.py +81 -15
- jarvis/jarvis_utils/utils.py +16 -0
- {jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/METADATA +50 -2
- {jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/RECORD +23 -23
- {jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/top_level.txt +0 -0
@@ -98,7 +98,7 @@ def process_request(request: str) -> Optional[str]:
|
|
98
98
|
输入: "查找Python文件"
|
99
99
|
输出: find . -name "*.py"
|
100
100
|
"""
|
101
|
-
model.
|
101
|
+
model.set_system_prompt(system_message)
|
102
102
|
|
103
103
|
prefix = f"Current path: {current_path}\n"
|
104
104
|
prefix += f"Current shell: {shell}\n"
|
@@ -79,7 +79,7 @@ class FileAnalyzerTool:
|
|
79
79
|
system_message = """你是一个文件分析助手。你的任务是分析提供的文件内容,并根据用户的提示提取关键信息。
|
80
80
|
请保持客观,只关注文件中实际存在的内容。如果无法确定某些信息,请明确指出。
|
81
81
|
请以结构化的方式组织你的回答,使用标题、列表和代码块等格式来提高可读性。"""
|
82
|
-
platform.
|
82
|
+
platform.set_system_prompt(system_message)
|
83
83
|
|
84
84
|
# 上传文件
|
85
85
|
with yaspin(Spinners.dots, text="正在上传文件...") as spinner:
|
jarvis/jarvis_tools/registry.py
CHANGED
@@ -622,11 +622,11 @@ class ToolRegistry(OutputHandlerProtocol):
|
|
622
622
|
"""
|
623
623
|
output_parts = []
|
624
624
|
if stdout:
|
625
|
-
output_parts.append(f"
|
625
|
+
output_parts.append(f"<output>\n{stdout}\n</output>")
|
626
626
|
if stderr:
|
627
|
-
output_parts.append(f"
|
627
|
+
output_parts.append(f"<error>\n{stderr}\n</error>")
|
628
628
|
output = "\n\n".join(output_parts)
|
629
|
-
return "
|
629
|
+
return "<无输出和错误>" if not output else output
|
630
630
|
|
631
631
|
def _truncate_output(self, output: str) -> str:
|
632
632
|
"""截断过长的输出内容
|
jarvis/jarvis_utils/globals.py
CHANGED
@@ -21,22 +21,30 @@ os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
|
21
21
|
# 全局代理管理
|
22
22
|
global_agents: Set[str] = set()
|
23
23
|
current_agent_name: str = ""
|
24
|
+
# 表示与大模型交互的深度(>0表示正在交互)
|
25
|
+
g_in_chat: int = 0
|
26
|
+
# 表示是否接收到中断信号
|
27
|
+
g_interrupt: int = 0
|
24
28
|
# 使用自定义主题配置rich控制台
|
25
|
-
custom_theme = Theme(
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
29
|
+
custom_theme = Theme(
|
30
|
+
{
|
31
|
+
"INFO": "yellow",
|
32
|
+
"WARNING": "yellow",
|
33
|
+
"ERROR": "red",
|
34
|
+
"SUCCESS": "green",
|
35
|
+
"SYSTEM": "cyan",
|
36
|
+
"CODE": "green",
|
37
|
+
"RESULT": "blue",
|
38
|
+
"PLANNING": "magenta",
|
39
|
+
"PROGRESS": "white",
|
40
|
+
"DEBUG": "blue",
|
41
|
+
"USER": "green",
|
42
|
+
"TOOL": "yellow",
|
43
|
+
}
|
44
|
+
)
|
39
45
|
console = Console(theme=custom_theme)
|
46
|
+
|
47
|
+
|
40
48
|
def make_agent_name(agent_name: str) -> str:
|
41
49
|
"""
|
42
50
|
通过附加后缀生成唯一的代理名称(如果必要)。
|
@@ -53,6 +61,8 @@ def make_agent_name(agent_name: str) -> str:
|
|
53
61
|
i += 1
|
54
62
|
return f"{agent_name}_{i}"
|
55
63
|
return agent_name
|
64
|
+
|
65
|
+
|
56
66
|
def set_agent(agent_name: str, agent: Any) -> None:
|
57
67
|
"""
|
58
68
|
设置当前代理并将其添加到全局代理集合中。
|
@@ -64,6 +74,8 @@ def set_agent(agent_name: str, agent: Any) -> None:
|
|
64
74
|
global_agents.add(agent_name)
|
65
75
|
global current_agent_name
|
66
76
|
current_agent_name = agent_name
|
77
|
+
|
78
|
+
|
67
79
|
def get_agent_list() -> str:
|
68
80
|
"""
|
69
81
|
获取表示当前代理状态的格式化字符串。
|
@@ -71,7 +83,13 @@ def get_agent_list() -> str:
|
|
71
83
|
返回:
|
72
84
|
str: 包含代理数量和当前代理名称的格式化字符串
|
73
85
|
"""
|
74
|
-
return
|
86
|
+
return (
|
87
|
+
"[" + str(len(global_agents)) + "]" + current_agent_name
|
88
|
+
if global_agents
|
89
|
+
else ""
|
90
|
+
)
|
91
|
+
|
92
|
+
|
75
93
|
def delete_agent(agent_name: str) -> None:
|
76
94
|
"""
|
77
95
|
从全局代理集合中删除一个代理。
|
@@ -83,3 +101,51 @@ def delete_agent(agent_name: str) -> None:
|
|
83
101
|
global_agents.remove(agent_name)
|
84
102
|
global current_agent_name
|
85
103
|
current_agent_name = ""
|
104
|
+
|
105
|
+
|
106
|
+
def set_in_chat(status: bool) -> None:
|
107
|
+
"""
|
108
|
+
设置与大模型交互的状态。
|
109
|
+
|
110
|
+
参数:
|
111
|
+
status: True表示增加交互深度,False表示减少
|
112
|
+
"""
|
113
|
+
global g_in_chat
|
114
|
+
if status:
|
115
|
+
g_in_chat += 1
|
116
|
+
else:
|
117
|
+
g_in_chat = max(0, g_in_chat - 1)
|
118
|
+
|
119
|
+
|
120
|
+
def get_in_chat() -> bool:
|
121
|
+
"""
|
122
|
+
获取当前是否正在与大模型交互的状态。
|
123
|
+
|
124
|
+
返回:
|
125
|
+
bool: 当前交互状态(>0表示正在交互)
|
126
|
+
"""
|
127
|
+
return g_in_chat > 0
|
128
|
+
|
129
|
+
|
130
|
+
def set_interrupt(status: bool) -> None:
|
131
|
+
"""
|
132
|
+
设置中断信号状态。
|
133
|
+
|
134
|
+
参数:
|
135
|
+
status: 中断状态
|
136
|
+
"""
|
137
|
+
global g_interrupt
|
138
|
+
if status:
|
139
|
+
g_interrupt += 1
|
140
|
+
else:
|
141
|
+
g_interrupt = 0
|
142
|
+
|
143
|
+
|
144
|
+
def get_interrupt() -> int:
|
145
|
+
"""
|
146
|
+
获取当前中断信号状态。
|
147
|
+
|
148
|
+
返回:
|
149
|
+
int: 当前中断计数
|
150
|
+
"""
|
151
|
+
return g_interrupt
|
jarvis/jarvis_utils/utils.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
import hashlib
|
3
3
|
import os
|
4
|
+
import signal
|
4
5
|
import subprocess
|
5
6
|
import tarfile
|
6
7
|
import time
|
@@ -14,6 +15,7 @@ from jarvis.jarvis_utils.config import get_data_dir, get_max_big_content_size, s
|
|
14
15
|
from jarvis.jarvis_utils.embedding import get_context_token_count
|
15
16
|
from jarvis.jarvis_utils.input import get_single_line_input
|
16
17
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
18
|
+
from jarvis.jarvis_utils.globals import get_in_chat, get_interrupt, set_interrupt
|
17
19
|
|
18
20
|
|
19
21
|
|
@@ -25,11 +27,25 @@ def init_env(welcome_str: str, config_file: Optional[str] = None) -> None:
|
|
25
27
|
3. 处理文件读取异常
|
26
28
|
4. 检查git仓库状态并在落后时更新
|
27
29
|
5. 统计当前命令使用次数
|
30
|
+
6. 注册SIGINT信号处理函数
|
28
31
|
|
29
32
|
参数:
|
30
33
|
welcome_str: 欢迎信息字符串
|
31
34
|
config_file: 配置文件路径,默认为None(使用~/.jarvis/config.yaml)
|
32
35
|
"""
|
36
|
+
# 保存原始信号处理函数
|
37
|
+
original_sigint = signal.getsignal(signal.SIGINT)
|
38
|
+
|
39
|
+
def sigint_handler(signum, frame):
|
40
|
+
if get_in_chat():
|
41
|
+
set_interrupt(True)
|
42
|
+
if get_interrupt() > 5 and original_sigint and callable(original_sigint):
|
43
|
+
original_sigint(signum, frame)
|
44
|
+
else:
|
45
|
+
if original_sigint and callable(original_sigint):
|
46
|
+
original_sigint(signum, frame)
|
47
|
+
|
48
|
+
signal.signal(signal.SIGINT, sigint_handler)
|
33
49
|
count_cmd_usage()
|
34
50
|
|
35
51
|
jarvis_ascii_art = f"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: jarvis-ai-assistant
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.192
|
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
|
@@ -230,6 +230,54 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
230
230
|
| `jarvis-git-details` | - | 使用git details功能 |
|
231
231
|
| `jarvis-methodology` | - | 使用方法论功能 |
|
232
232
|
|
233
|
+
## 🏗️ 平台管理功能
|
234
|
+
|
235
|
+
`jarvis-platform-manager` 提供以下子命令来管理AI平台和模型:
|
236
|
+
|
237
|
+
### 1. 列出支持的平台和模型
|
238
|
+
```bash
|
239
|
+
jarvis-platform-manager info
|
240
|
+
```
|
241
|
+
显示所有支持的AI平台及其可用模型列表。
|
242
|
+
|
243
|
+
### 2. 与指定平台和模型聊天
|
244
|
+
```bash
|
245
|
+
jarvis-platform-manager chat -p <平台名称> -m <模型名称>
|
246
|
+
```
|
247
|
+
启动交互式聊天会话,支持以下命令:
|
248
|
+
- `/bye` - 退出聊天
|
249
|
+
- `/clear` - 清除当前会话
|
250
|
+
- `/upload <文件路径>` - 上传文件到当前会话
|
251
|
+
- `/shell <命令>` - 执行shell命令
|
252
|
+
- `/save <文件名>` - 保存最后一条消息
|
253
|
+
- `/saveall <文件名>` - 保存完整对话历史
|
254
|
+
|
255
|
+
### 3. 启动OpenAI兼容的API服务
|
256
|
+
```bash
|
257
|
+
jarvis-platform-manager service --host <IP地址> --port <端口号> -p <平台名称> -m <模型名称>
|
258
|
+
```
|
259
|
+
启动一个兼容OpenAI API的服务,可用于其他应用程序集成。
|
260
|
+
|
261
|
+
### 4. 加载角色配置文件
|
262
|
+
```bash
|
263
|
+
jarvis-platform-manager role -c <配置文件路径>
|
264
|
+
```
|
265
|
+
从YAML配置文件加载预定义角色进行对话。配置文件格式示例:
|
266
|
+
```yaml
|
267
|
+
roles:
|
268
|
+
- name: "代码助手"
|
269
|
+
description: "专注于代码分析和生成的AI助手"
|
270
|
+
platform: "yuanbao"
|
271
|
+
model: "deep_seek_v3"
|
272
|
+
system_prompt: "你是一个专业的代码助手,专注于分析和生成高质量的代码"
|
273
|
+
- name: "文档撰写"
|
274
|
+
description: "帮助撰写技术文档的AI助手"
|
275
|
+
platform: "kimi"
|
276
|
+
model: "k1"
|
277
|
+
system_prompt: "你是一个技术文档撰写专家,擅长将复杂技术概念转化为清晰易懂的文字"
|
278
|
+
```
|
279
|
+
|
280
|
+
|
233
281
|
---
|
234
282
|
|
235
283
|
## ⚙️ 配置说明 <a id="configuration"></a>
|
@@ -428,7 +476,7 @@ class CustomPlatform(BasePlatform):
|
|
428
476
|
# 设置模型名称
|
429
477
|
pass
|
430
478
|
|
431
|
-
def
|
479
|
+
def set_system_prompt(self, message: str):
|
432
480
|
# 设置系统消息
|
433
481
|
pass
|
434
482
|
|
@@ -1,13 +1,13 @@
|
|
1
|
-
jarvis/__init__.py,sha256=
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=
|
1
|
+
jarvis/__init__.py,sha256=5_sLz94_CMqE2he4vQ7HAZhBu30-NLMM4jT2UvSUt2c,74
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=ZB3Tt09qwCO68vY62ogzfvvdF4HMQcEV6EjPUsJpuR8,29806
|
3
3
|
jarvis/jarvis_agent/builtin_input_handler.py,sha256=f4DaEHPakXcAbgykFP-tiOQP6fh_yGFlZx_h91_j2tQ,1529
|
4
4
|
jarvis/jarvis_agent/file_input_handler.py,sha256=OfoYI5on6w5BDUUg4OadFcfWzMsUF70GNrlt9QyauvA,4181
|
5
|
-
jarvis/jarvis_agent/jarvis.py,sha256=
|
5
|
+
jarvis/jarvis_agent/jarvis.py,sha256=zfYlwXaZJYfwvNeU5IUSlURyY0pn7QxsHmXBqSptUo8,6105
|
6
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
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
10
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=4nYYPFGSr7U8TGbqhayMOOHK6NZRzd-H4JcM4FDNcMk,15522
|
11
11
|
jarvis/jarvis_code_agent/lint.py,sha256=TZlhNbeaoLzO9DzExjN5GAjrt66owd8lyQV56LTfkrs,4370
|
12
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
|
@@ -47,17 +47,17 @@ 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=
|
51
|
-
jarvis/jarvis_platform/human.py,sha256=
|
52
|
-
jarvis/jarvis_platform/kimi.py,sha256=
|
53
|
-
jarvis/jarvis_platform/openai.py,sha256=
|
54
|
-
jarvis/jarvis_platform/registry.py,sha256=
|
55
|
-
jarvis/jarvis_platform/tongyi.py,sha256=
|
56
|
-
jarvis/jarvis_platform/yuanbao.py,sha256=
|
50
|
+
jarvis/jarvis_platform/base.py,sha256=MAY2Xe8WECOfisd-7_F8LXqzsIswkVwlVzXEj-D5Vlg,7186
|
51
|
+
jarvis/jarvis_platform/human.py,sha256=MkKdwZ8oY5eacjHOEjUCUwDCJJnXtlzU8o8_jJAMdaA,2566
|
52
|
+
jarvis/jarvis_platform/kimi.py,sha256=m45UlTkE3XhZZ3XfQk4degpKWsy5yrdzBHi9pDvmoZk,12100
|
53
|
+
jarvis/jarvis_platform/openai.py,sha256=iXsJ52e7zGaKNho1Lzg4_rjXUwLn0wpVmWCLZ0k4xU8,4985
|
54
|
+
jarvis/jarvis_platform/registry.py,sha256=qq19f9HoISxpVf09t1oEuOgzLXP8QT1mDzWAI5ifIHc,7819
|
55
|
+
jarvis/jarvis_platform/tongyi.py,sha256=Q0MCqKofuoQpp6XiYBdgO6LA4vJPEiTvVvKGgwJcpII,21062
|
56
|
+
jarvis/jarvis_platform/yuanbao.py,sha256=wpJxYS8lF9c-1F5S6pFSdKhipXkQREtErtn5WgCblCQ,20750
|
57
57
|
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
|
-
jarvis/jarvis_platform_manager/main.py,sha256=
|
58
|
+
jarvis/jarvis_platform_manager/main.py,sha256=klN8c0IItE1wg1V2tPkh2RoEJxXXCgO--Hf7mpmY39I,29558
|
59
59
|
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
jarvis/jarvis_smart_shell/main.py,sha256=
|
60
|
+
jarvis/jarvis_smart_shell/main.py,sha256=pUoRsAbY2_BNqtVGEOin8UJVb8gmL_-Aj_NITJ9k0eo,5290
|
61
61
|
jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
62
|
jarvis/jarvis_tools/ask_user.py,sha256=qwxwJIL698rEWdi1txxlPgIr4UFuihfe--NqBEYhIQQ,2168
|
63
63
|
jarvis/jarvis_tools/base.py,sha256=OdlvzUjYQBmZIMcAeBxAqIQo2urh126OerArK-wOPzU,1191
|
@@ -67,13 +67,13 @@ jarvis/jarvis_tools/create_code_agent.py,sha256=-nHfo5O5pDIG5IX3w1ClQafGvGcdI2_w
|
|
67
67
|
jarvis/jarvis_tools/create_sub_agent.py,sha256=lyFrrg4V0yXULmU3vldwGp_euZjwZzJcRU6mJ20zejY,3023
|
68
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=
|
70
|
+
jarvis/jarvis_tools/file_analyzer.py,sha256=jl9phaN6BqMcgrikMeaxY-9VYXbXQOO1Zu61fZocGv0,4917
|
71
71
|
jarvis/jarvis_tools/file_operation.py,sha256=WloC1-oPJLwgICu4WBc9f7XA8N_Ggl73QQ5CxM2XTlE,9464
|
72
72
|
jarvis/jarvis_tools/generate_new_tool.py,sha256=KZX4wpSpBZ4S5817zAN5j7AAirtgBCrNUmjrpfL9dNI,7706
|
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=
|
76
|
+
jarvis/jarvis_tools/registry.py,sha256=6iroEOm75KDhgSM0HHb1p8Sn2lLemZ29nSw7O6IzRPY,25186
|
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
|
@@ -85,15 +85,15 @@ jarvis/jarvis_utils/config.py,sha256=Z7pZsSYXJkc2RzUhJ-_VvQA3xOLo6LEo4nEE1ftyQY8
|
|
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
|
-
jarvis/jarvis_utils/globals.py,sha256=
|
88
|
+
jarvis/jarvis_utils/globals.py,sha256=908DizIMrInuOlirTp5lsOfqbD6K2v18P_J7A8nrdus,3375
|
89
89
|
jarvis/jarvis_utils/input.py,sha256=FkLW7MXL8awQUghFLQnW1r5F1wV8K3EZeVPwHFRHJTo,7458
|
90
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
|
-
jarvis/jarvis_utils/utils.py,sha256=
|
94
|
-
jarvis_ai_assistant-0.1.
|
95
|
-
jarvis_ai_assistant-0.1.
|
96
|
-
jarvis_ai_assistant-0.1.
|
97
|
-
jarvis_ai_assistant-0.1.
|
98
|
-
jarvis_ai_assistant-0.1.
|
99
|
-
jarvis_ai_assistant-0.1.
|
93
|
+
jarvis/jarvis_utils/utils.py,sha256=r9Xnf84jR2E1CfHBtYVF_sPZ74-S4W63aPleBQZtdYo,11597
|
94
|
+
jarvis_ai_assistant-0.1.192.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
95
|
+
jarvis_ai_assistant-0.1.192.dist-info/METADATA,sha256=L-16MCi-TdoxaluwVvuq1KVUKJazX05Ell2ZqMToJq0,17829
|
96
|
+
jarvis_ai_assistant-0.1.192.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
97
|
+
jarvis_ai_assistant-0.1.192.dist-info/entry_points.txt,sha256=Gy3DOP1PYLMK0GCj4rrP_9lkOyBQ39EK_lKGUSwn41E,869
|
98
|
+
jarvis_ai_assistant-0.1.192.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
99
|
+
jarvis_ai_assistant-0.1.192.dist-info/RECORD,,
|
File without changes
|
{jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/entry_points.txt
RENAMED
File without changes
|
{jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
{jarvis_ai_assistant-0.1.190.dist-info → jarvis_ai_assistant-0.1.192.dist-info}/top_level.txt
RENAMED
File without changes
|