jarvis-ai-assistant 0.1.152__py3-none-any.whl → 0.1.153__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.
Potentially problematic release.
This version of jarvis-ai-assistant might be problematic. Click here for more details.
- jarvis/__init__.py +1 -1
- jarvis/jarvis_agent/__init__.py +128 -69
- jarvis/jarvis_agent/file_input_handler.py +0 -2
- jarvis/jarvis_agent/jarvis.py +9 -1
- jarvis/jarvis_agent/patch.py +2 -2
- jarvis/jarvis_code_agent/code_agent.py +36 -2
- jarvis/jarvis_code_analysis/code_review.py +62 -7
- jarvis/jarvis_dev/main.py +751 -147
- jarvis/jarvis_platform/kimi.py +3 -0
- jarvis/jarvis_tools/read_webpage.py +13 -2
- jarvis/jarvis_tools/registry.py +58 -26
- jarvis/jarvis_utils/methodology.py +9 -7
- {jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/METADATA +2 -2
- {jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/RECORD +18 -18
- {jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/WHEEL +1 -1
- {jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/top_level.txt +0 -0
jarvis/jarvis_platform/kimi.py
CHANGED
|
@@ -78,6 +78,9 @@ class KimiModel(BasePlatform):
|
|
|
78
78
|
}
|
|
79
79
|
try:
|
|
80
80
|
response = while_success(lambda: requests.request("POST", url, headers=headers, data=payload), sleep_time=5)
|
|
81
|
+
if response.status_code != 200:
|
|
82
|
+
PrettyOutput.print(f"错误:创建会话失败:{response.json()}", OutputType.ERROR)
|
|
83
|
+
return False
|
|
81
84
|
self.chat_id = response.json()["id"]
|
|
82
85
|
return True
|
|
83
86
|
except Exception as e:
|
|
@@ -12,6 +12,11 @@ class WebpageTool:
|
|
|
12
12
|
"url": {
|
|
13
13
|
"type": "string",
|
|
14
14
|
"description": "要读取的网页URL"
|
|
15
|
+
},
|
|
16
|
+
"want": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "具体想要从网页获取的信息或回答的问题",
|
|
19
|
+
"default": "请总结这个网页的主要内容"
|
|
15
20
|
}
|
|
16
21
|
},
|
|
17
22
|
"required": ["url"]
|
|
@@ -35,14 +40,20 @@ class WebpageTool:
|
|
|
35
40
|
"""Read webpage content using Yuanbao model"""
|
|
36
41
|
try:
|
|
37
42
|
url = args["url"].strip()
|
|
43
|
+
want = args.get("want", "请总结这个网页的主要内容")
|
|
38
44
|
|
|
39
45
|
# Create Yuanbao model instance
|
|
40
46
|
model = PlatformRegistry().create_platform(self.platform)
|
|
41
47
|
model.set_suppress_output(False) # type: ignore
|
|
42
48
|
model.set_model_name(self.model) # type: ignore
|
|
43
49
|
|
|
44
|
-
# Construct prompt
|
|
45
|
-
prompt = f"
|
|
50
|
+
# Construct prompt based on want parameter
|
|
51
|
+
prompt = f"""请帮我处理这个网页:{url}
|
|
52
|
+
用户的具体需求是:{want}
|
|
53
|
+
请按照以下要求输出结果:
|
|
54
|
+
1. 使用Markdown格式
|
|
55
|
+
2. 包含网页标题
|
|
56
|
+
3. 根据用户需求提供准确、完整的信息"""
|
|
46
57
|
|
|
47
58
|
# Get response from Yuanbao model
|
|
48
59
|
response = model.chat_until_success(prompt) # type: ignore
|
jarvis/jarvis_tools/registry.py
CHANGED
|
@@ -24,9 +24,13 @@ from jarvis.jarvis_mcp import McpClient
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
tool_call_help = f"""
|
|
27
|
+
<tool_system_guide>
|
|
28
|
+
<introduction>
|
|
27
29
|
# 🛠️ 工具使用系统
|
|
28
30
|
您正在使用一个需要精确格式和严格规则的工具执行系统。
|
|
31
|
+
</introduction>
|
|
29
32
|
|
|
33
|
+
<format>
|
|
30
34
|
# 📋 工具调用格式
|
|
31
35
|
{ot("TOOL_CALL")}
|
|
32
36
|
want: 想要从执行结果中获取到的信息,如果工具输出内容过长,会根据此字段尝试提取有效信息
|
|
@@ -35,29 +39,41 @@ arguments:
|
|
|
35
39
|
param1: 值1
|
|
36
40
|
param2: 值2
|
|
37
41
|
{ct("TOOL_CALL")}
|
|
42
|
+
</format>
|
|
38
43
|
|
|
44
|
+
<rules>
|
|
39
45
|
# ❗ 关键规则
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
<rule>
|
|
47
|
+
### 1. 每次只使用一个工具
|
|
48
|
+
- 一次只执行一个工具
|
|
49
|
+
- 等待结果后再进行下一步
|
|
50
|
+
</rule>
|
|
51
|
+
|
|
52
|
+
<rule>
|
|
53
|
+
### 2. 严格遵守格式
|
|
54
|
+
- 完全按照上述格式
|
|
55
|
+
- 使用正确的YAML缩进
|
|
56
|
+
- 包含所有必需参数
|
|
57
|
+
</rule>
|
|
58
|
+
|
|
59
|
+
<rule>
|
|
60
|
+
### 3. 结果处理
|
|
61
|
+
- 等待执行结果
|
|
62
|
+
- 不要假设结果
|
|
63
|
+
- 不要创建虚假响应
|
|
64
|
+
- 不要想象对话
|
|
65
|
+
</rule>
|
|
66
|
+
|
|
67
|
+
<rule>
|
|
68
|
+
### 4. 信息管理
|
|
69
|
+
- 如果信息不足,询问用户
|
|
70
|
+
- 跳过不必要的步骤
|
|
71
|
+
- 如果卡住,请求指导
|
|
72
|
+
- 不要在没有完整信息的情况下继续
|
|
73
|
+
</rule>
|
|
74
|
+
</rules>
|
|
75
|
+
|
|
76
|
+
<string_format>
|
|
61
77
|
# 📝 字符串参数格式
|
|
62
78
|
始终使用 | 语法表示字符串参数:
|
|
63
79
|
|
|
@@ -69,20 +85,26 @@ arguments:
|
|
|
69
85
|
script_cotent: |
|
|
70
86
|
git status --porcelain
|
|
71
87
|
{ct("TOOL_CALL")}
|
|
88
|
+
</string_format>
|
|
72
89
|
|
|
90
|
+
<best_practices>
|
|
73
91
|
# 💡 最佳实践
|
|
74
92
|
- 准备好后立即开始执行
|
|
75
93
|
- 无需请求许可即可开始
|
|
76
94
|
- 使用正确的字符串格式
|
|
77
95
|
- 监控进度并调整
|
|
78
96
|
- 遇到困难时请求帮助
|
|
97
|
+
</best_practices>
|
|
79
98
|
|
|
99
|
+
<common_errors>
|
|
80
100
|
# ⚠️ 常见错误
|
|
81
101
|
- 同时调用多个工具
|
|
82
102
|
- 字符串参数缺少 |
|
|
83
103
|
- 假设工具结果
|
|
84
104
|
- 创建虚构对话
|
|
85
105
|
- 在没有所需信息的情况下继续
|
|
106
|
+
</common_errors>
|
|
107
|
+
</tool_system_guide>
|
|
86
108
|
"""
|
|
87
109
|
|
|
88
110
|
|
|
@@ -98,12 +120,16 @@ class ToolRegistry(OutputHandler):
|
|
|
98
120
|
"""加载工具"""
|
|
99
121
|
tools = self.get_all_tools()
|
|
100
122
|
if tools:
|
|
101
|
-
tools_prompt = "
|
|
123
|
+
tools_prompt = "<tools_section>\n"
|
|
124
|
+
tools_prompt += " <header>## 可用工具:</header>\n"
|
|
125
|
+
tools_prompt += " <tools_list>\n"
|
|
102
126
|
for tool in tools:
|
|
103
127
|
try:
|
|
104
|
-
tools_prompt +=
|
|
105
|
-
tools_prompt += f"
|
|
106
|
-
tools_prompt += "
|
|
128
|
+
tools_prompt += " <tool>\n"
|
|
129
|
+
tools_prompt += f" <name>名称: {tool['name']}</name>\n"
|
|
130
|
+
tools_prompt += f" <description>描述: {tool['description']}</description>\n"
|
|
131
|
+
tools_prompt += " <parameters>\n"
|
|
132
|
+
tools_prompt += " <yaml>|\n"
|
|
107
133
|
|
|
108
134
|
# 生成格式化的YAML参数
|
|
109
135
|
yaml_params = yaml.dump(
|
|
@@ -116,7 +142,11 @@ class ToolRegistry(OutputHandler):
|
|
|
116
142
|
|
|
117
143
|
# 添加缩进并移除尾部空格
|
|
118
144
|
for line in yaml_params.split("\n"):
|
|
119
|
-
tools_prompt += f"
|
|
145
|
+
tools_prompt += f" {line.rstrip()}\n"
|
|
146
|
+
|
|
147
|
+
tools_prompt += " </yaml>\n"
|
|
148
|
+
tools_prompt += " </parameters>\n"
|
|
149
|
+
tools_prompt += " </tool>\n"
|
|
120
150
|
|
|
121
151
|
except yaml.YAMLError as e:
|
|
122
152
|
PrettyOutput.print(
|
|
@@ -125,6 +155,8 @@ class ToolRegistry(OutputHandler):
|
|
|
125
155
|
)
|
|
126
156
|
continue
|
|
127
157
|
|
|
158
|
+
tools_prompt += " </tools_list>\n"
|
|
159
|
+
tools_prompt += "</tools_section>\n"
|
|
128
160
|
tools_prompt += tool_call_help.rstrip() # 移除帮助文本尾部空格
|
|
129
161
|
return tools_prompt
|
|
130
162
|
return ""
|
|
@@ -141,7 +141,15 @@ def load_methodology(user_input: str) -> str:
|
|
|
141
141
|
|
|
142
142
|
platform.set_suppress_output(False)
|
|
143
143
|
# 构建提示信息
|
|
144
|
-
prompt = f"""
|
|
144
|
+
prompt = f"""以下是所有可用的方法论内容:
|
|
145
|
+
|
|
146
|
+
"""
|
|
147
|
+
if not upload_result:
|
|
148
|
+
for problem_type, content in methodologies.items():
|
|
149
|
+
prompt += f"## {problem_type}\n\n{content}\n\n---\n\n"
|
|
150
|
+
|
|
151
|
+
prompt += f"""
|
|
152
|
+
请根据以上方法论内容,总结出与以下用户需求相关的方法论: {user_input}
|
|
145
153
|
|
|
146
154
|
请按以下格式回复:
|
|
147
155
|
### 与该任务/需求相关的方法论
|
|
@@ -153,12 +161,6 @@ def load_methodology(user_input: str) -> str:
|
|
|
153
161
|
如果没有匹配的方法论,请输出:没有历史方法论可参考
|
|
154
162
|
除以上要求外,不要输出任何内容
|
|
155
163
|
"""
|
|
156
|
-
if not upload_result:
|
|
157
|
-
prompt += f"""
|
|
158
|
-
# 方法论内容
|
|
159
|
-
"""
|
|
160
|
-
for problem_type, content in methodologies.items():
|
|
161
|
-
prompt += f"## {problem_type}\n\n{content}\n\n---\n\n"
|
|
162
164
|
return platform.chat_until_success(prompt)
|
|
163
165
|
|
|
164
166
|
except Exception as e:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jarvis-ai-assistant
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.153
|
|
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
|
|
@@ -54,7 +54,7 @@ Requires-Dist: transformers==4.46.3
|
|
|
54
54
|
Requires-Dist: torch==2.4.1
|
|
55
55
|
Requires-Dist: python-Levenshtein==0.25.1
|
|
56
56
|
Requires-Dist: sseclient==0.0.27
|
|
57
|
-
Requires-Dist: pillow==10.2.
|
|
57
|
+
Requires-Dist: pillow==10.2.0
|
|
58
58
|
Provides-Extra: dev
|
|
59
59
|
Requires-Dist: pytest; extra == "dev"
|
|
60
60
|
Requires-Dist: black; extra == "dev"
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=
|
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=
|
|
1
|
+
jarvis/__init__.py,sha256=5T6GkmamWNQXuq2roC5vVce17HvPxxdE7fXIumuzKUs,50
|
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=tUAN3G-nT7pJj5MTcUSTo5WN9AmsIA4M0Tym8aKxdTg,25338
|
|
3
3
|
jarvis/jarvis_agent/builtin_input_handler.py,sha256=0SjlBYnBWKNi3eVdZ7c2NuP82tQej7DEWLAqG6bY1Rc,4357
|
|
4
|
-
jarvis/jarvis_agent/file_input_handler.py,sha256=
|
|
5
|
-
jarvis/jarvis_agent/jarvis.py,sha256
|
|
4
|
+
jarvis/jarvis_agent/file_input_handler.py,sha256=auBbBfS4Ux5ksczeRe9LtsmMm4hKrPxinW5leE9Rtyc,3575
|
|
5
|
+
jarvis/jarvis_agent/jarvis.py,sha256=YZCDlUk2UpSvkeEZWhBmDi0Av6HPsZBn8gLWb_WPeKM,5661
|
|
6
6
|
jarvis/jarvis_agent/main.py,sha256=Jlw_Tofh2C-sMVnkeOZBrwWJOWNH3IhsKDUn-WBlgU8,2602
|
|
7
7
|
jarvis/jarvis_agent/output_handler.py,sha256=4limQ-Kf-YYvQjT5SMjJIyyvD1DVG8tINv1A_qbv4ho,405
|
|
8
|
-
jarvis/jarvis_agent/patch.py,sha256=
|
|
8
|
+
jarvis/jarvis_agent/patch.py,sha256=Ok_WZo8Zn4b8wKOZmB2uUdmuAgJcBt21FdmARbNy0Og,22506
|
|
9
9
|
jarvis/jarvis_agent/shell_input_handler.py,sha256=9IoGQCe6FF4HA2V5S11q63AtnWDZFpNeRd3hcqCAlBw,1237
|
|
10
10
|
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
|
12
|
-
jarvis/jarvis_code_analysis/code_review.py,sha256=
|
|
11
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=ai654PtvyKxlPXwQYK8qJdPRnVW4yvrcFyXQE7t2SLo,13510
|
|
12
|
+
jarvis/jarvis_code_analysis/code_review.py,sha256=7CMNct8Rqqsycn2-ZJrfVcM2Oz3r06CR_Hqci4LAX70,29830
|
|
13
13
|
jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=PCjlyxLa939613cAzS7pfEPgP57setO-1RvcdzzPivw,54
|
|
14
14
|
jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=8lfWmhImAxeTBdHPOgVXDjMllaq280Qki1ZOOSDBnvk,1293
|
|
15
15
|
jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=fg35Iima2nIsirEmAjianfAybVjwRYml9BtbSQFff7w,2396
|
|
@@ -30,7 +30,7 @@ jarvis/jarvis_code_analysis/checklists/shell.py,sha256=UBtGhi3d5sIhyUSGmDckYOXwp
|
|
|
30
30
|
jarvis/jarvis_code_analysis/checklists/sql.py,sha256=-bGfYhaFJyHrbcJrUMbkMyPCNVbk8UljNqebqVJJKxM,2331
|
|
31
31
|
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=d-zPPbM_J1G8fgZ2M2-ASQbIxEocsdL1owL4Z2PCnOc,2542
|
|
32
32
|
jarvis/jarvis_code_analysis/checklists/web.py,sha256=phdvLGqRHNijA0OyEwVtgHgz1Hi4ldtJJscOhEQvbSQ,3919
|
|
33
|
-
jarvis/jarvis_dev/main.py,sha256=
|
|
33
|
+
jarvis/jarvis_dev/main.py,sha256=Ew4cm9o01OkSvHeF2Ky73T10gdp205pEyh2l5fWKT2M,42620
|
|
34
34
|
jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
35
|
jarvis/jarvis_git_details/main.py,sha256=YowncVxYyJ3y2EvGrZhAJeR4yizXp6aB3dqvoYTepFY,6117
|
|
36
36
|
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -50,7 +50,7 @@ jarvis/jarvis_multi_agent/__init__.py,sha256=SX8lBErhltKyYRM-rymrMz3sJ0Zl3hBXrps
|
|
|
50
50
|
jarvis/jarvis_multi_agent/main.py,sha256=aGuUC3YQmahabqwDwZXJjfQLYsZ3KIZdf8DZDlVNMe4,1543
|
|
51
51
|
jarvis/jarvis_platform/__init__.py,sha256=WIJtD5J7lOrWLX2bsgZGkmlMcN0NOJsnh_reybmHPjg,58
|
|
52
52
|
jarvis/jarvis_platform/base.py,sha256=bihlnM5PowzKhi3dbxUp_eHOA14MLrHAbs_DXLe0s0g,3228
|
|
53
|
-
jarvis/jarvis_platform/kimi.py,sha256=
|
|
53
|
+
jarvis/jarvis_platform/kimi.py,sha256=h1BP0vey30upZ9g-b8pU87rQGd3fHcgAQo_51Nv9DZY,16697
|
|
54
54
|
jarvis/jarvis_platform/registry.py,sha256=wvXTKXqAoW6GPaLKCPYhRB9QhVe1xfoVbVPBZAxl_uA,7716
|
|
55
55
|
jarvis/jarvis_platform/yuanbao.py,sha256=X2lYZ3SxBzdaCwd5ooq9fxYbu14RUpeDILYg0W5W7Xc,21902
|
|
56
56
|
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -72,8 +72,8 @@ jarvis/jarvis_tools/find_methodology.py,sha256=FnvjWt4Za2P9B_oDPSOqkotuaQFbgjM9W
|
|
|
72
72
|
jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=IYqv8jQwSK71sZpDBRolSDnYii8t0M7fzLthhMYTeGk,5322
|
|
73
73
|
jarvis/jarvis_tools/methodology.py,sha256=gnlJojY4Dg5v9AAB5xcpKqpPIHs0tOYVtzTHkwOrWk0,5214
|
|
74
74
|
jarvis/jarvis_tools/read_code.py,sha256=_X6D3AIgRD9YplSDnFhXOm8wQAZMA3pkkXy31SG33l0,6041
|
|
75
|
-
jarvis/jarvis_tools/read_webpage.py,sha256=
|
|
76
|
-
jarvis/jarvis_tools/registry.py,sha256=
|
|
75
|
+
jarvis/jarvis_tools/read_webpage.py,sha256=2QF0zAyApl0bOr9604aml_uuqBZcPefVuHvRfWzrnzk,2598
|
|
76
|
+
jarvis/jarvis_tools/registry.py,sha256=2oM5_P25rMQyieTKmld0bJZqa4Yj93vV8CqJBw0JArg,25615
|
|
77
77
|
jarvis/jarvis_tools/search_web.py,sha256=kWW9K2QUR2AxPq6gcyx4Bgy-0Y4gzcdErq1DNT1EYM4,1333
|
|
78
78
|
jarvis/jarvis_tools/virtual_tty.py,sha256=Rpn9VXUG17LQsY87F_O6UCjN_opXB05mpwozxYf-xVI,16372
|
|
79
79
|
jarvis/jarvis_utils/__init__.py,sha256=KMg-KY5rZIhGTeOD5e2Xo5CU7DX1DUz4ULWAaTQ-ZNw,825
|
|
@@ -83,12 +83,12 @@ jarvis/jarvis_utils/file_processors.py,sha256=oNtVlz2JHcQ60NS6sgI-VsvYXOnsQgFUEV
|
|
|
83
83
|
jarvis/jarvis_utils/git_utils.py,sha256=j_Jw6h7JD91XhMf0WD3MAH4URkLUBrrYCLnuLm1GeN4,5630
|
|
84
84
|
jarvis/jarvis_utils/globals.py,sha256=Ed2d6diWXCgI74HVV_tI4qW7yXxLpNvQKN2yG0IH9hc,3388
|
|
85
85
|
jarvis/jarvis_utils/input.py,sha256=QhqZEF4BpOGDgNEBrTBabA5n8DnlU0GaHqbKUEZ13Ls,6953
|
|
86
|
-
jarvis/jarvis_utils/methodology.py,sha256=
|
|
86
|
+
jarvis/jarvis_utils/methodology.py,sha256=XayEVGXP5RfDBWj4bMOVFWplyrSp4GsXHwOTWoR4BLk,6418
|
|
87
87
|
jarvis/jarvis_utils/output.py,sha256=BmWdB1bmizv0xfU4Z___9p_xQodorriIcEgADVq9fk0,8416
|
|
88
88
|
jarvis/jarvis_utils/utils.py,sha256=j-YZap58avAzSb9ZuB2I71trVqVxIpFxxZDoh8_7a_o,4653
|
|
89
|
-
jarvis_ai_assistant-0.1.
|
|
90
|
-
jarvis_ai_assistant-0.1.
|
|
91
|
-
jarvis_ai_assistant-0.1.
|
|
92
|
-
jarvis_ai_assistant-0.1.
|
|
93
|
-
jarvis_ai_assistant-0.1.
|
|
94
|
-
jarvis_ai_assistant-0.1.
|
|
89
|
+
jarvis_ai_assistant-0.1.153.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
90
|
+
jarvis_ai_assistant-0.1.153.dist-info/METADATA,sha256=_sU90jRsoSsIXP-TMiGWQpaa3eyMt4cejKyCREY_MT0,11562
|
|
91
|
+
jarvis_ai_assistant-0.1.153.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
|
|
92
|
+
jarvis_ai_assistant-0.1.153.dist-info/entry_points.txt,sha256=4ZS8kq6jahnmfDyXFSx39HRi-Tkbp0uFc6cTXt3QIHA,929
|
|
93
|
+
jarvis_ai_assistant-0.1.153.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
94
|
+
jarvis_ai_assistant-0.1.153.dist-info/RECORD,,
|
{jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.152.dist-info → jarvis_ai_assistant-0.1.153.dist-info}/top_level.txt
RENAMED
|
File without changes
|