jarvis-ai-assistant 0.1.129__py3-none-any.whl → 0.1.130__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 +18 -18
- jarvis/jarvis_c2rust/c2rust.yaml +734 -0
- jarvis/jarvis_code_agent/code_agent.py +79 -78
- jarvis/jarvis_code_agent/patch.py +236 -55
- jarvis/jarvis_dev/main.py +832 -740
- jarvis/jarvis_multi_agent/__init__.py +62 -52
- jarvis/jarvis_platform/registry.py +0 -1
- jarvis/jarvis_tools/create_sub_agent.py +1 -8
- jarvis/jarvis_tools/git_commiter.py +2 -1
- jarvis/jarvis_tools/read_code.py +1 -1
- jarvis/jarvis_utils/output.py +2 -2
- {jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/METADATA +1 -1
- {jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/RECORD +18 -17
- {jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/top_level.txt +0 -0
|
@@ -5,8 +5,10 @@ import yaml
|
|
|
5
5
|
|
|
6
6
|
from jarvis.jarvis_agent import Agent
|
|
7
7
|
from jarvis.jarvis_agent.output_handler import OutputHandler
|
|
8
|
+
from jarvis.jarvis_tools.registry import ToolRegistry
|
|
8
9
|
from jarvis.jarvis_utils.input import get_multiline_input
|
|
9
10
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
|
11
|
+
from jarvis.jarvis_utils.utils import init_env
|
|
10
12
|
|
|
11
13
|
|
|
12
14
|
class MultiAgent(OutputHandler):
|
|
@@ -18,65 +20,63 @@ class MultiAgent(OutputHandler):
|
|
|
18
20
|
|
|
19
21
|
def prompt(self) -> str:
|
|
20
22
|
return f"""
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
# 📝 消息格式
|
|
23
|
+
# 多智能体协作系统
|
|
24
|
+
|
|
25
|
+
## 身份与角色定位
|
|
26
|
+
- **核心职责**:作为多智能体系统的协调者,通过结构化消息实现高效协作
|
|
27
|
+
- **关键能力**:消息路由、任务分发、结果整合、流程协调
|
|
28
|
+
- **工作范围**:在多个专业智能体之间建立有效沟通渠道
|
|
29
|
+
|
|
30
|
+
## 交互原则与策略
|
|
31
|
+
### 消息处理规范
|
|
32
|
+
- **单一操作原则**:每轮只执行一个操作(工具调用或消息发送)
|
|
33
|
+
- **完整性原则**:确保消息包含所有必要信息,避免歧义
|
|
34
|
+
- **明确性原则**:清晰表达意图、需求和期望结果
|
|
35
|
+
- **上下文保留**:在消息中包含足够的背景信息
|
|
36
|
+
|
|
37
|
+
### 消息格式标准
|
|
38
38
|
```
|
|
39
39
|
<SEND_MESSAGE>
|
|
40
40
|
to: 智能体名称 # 目标智能体名称
|
|
41
41
|
content: |
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
# 消息主题
|
|
43
|
+
|
|
44
|
+
## 背景信息
|
|
45
|
+
[提供必要的上下文和背景]
|
|
46
|
+
|
|
47
|
+
## 具体需求
|
|
48
|
+
[明确表达期望完成的任务]
|
|
49
|
+
|
|
50
|
+
## 相关资源
|
|
51
|
+
[列出相关文档、数据或工具]
|
|
52
|
+
|
|
53
|
+
## 期望结果
|
|
54
|
+
[描述期望的输出格式和内容]
|
|
45
55
|
</SEND_MESSAGE>
|
|
46
56
|
```
|
|
47
57
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
3. 处理后再进行下一步
|
|
71
|
-
4. 回复消息
|
|
72
|
-
5. 需要时转发任务
|
|
73
|
-
|
|
74
|
-
# 💡 提示
|
|
75
|
-
- 第一个操作将被执行
|
|
76
|
-
- 额外的操作将被忽略
|
|
77
|
-
- 总是先处理响应
|
|
78
|
-
- 需要时发送消息以继续任务
|
|
79
|
-
- 处理并回复收到的消息
|
|
58
|
+
## 协作流程规范
|
|
59
|
+
### 任务分发流程
|
|
60
|
+
1. **需求分析**:理解用户需求并确定最适合的智能体
|
|
61
|
+
2. **任务分解**:将复杂任务分解为可管理的子任务
|
|
62
|
+
3. **精准分发**:根据专长将任务分配给合适的智能体
|
|
63
|
+
4. **结果整合**:收集各智能体的输出并整合为连贯结果
|
|
64
|
+
|
|
65
|
+
### 消息流控制
|
|
66
|
+
1. **单向流动**:发送消息后等待响应,避免消息风暴
|
|
67
|
+
2. **优先级管理**:处理紧急消息优先,保持任务顺序
|
|
68
|
+
3. **状态跟踪**:记录每个任务的当前状态和处理进度
|
|
69
|
+
4. **异常处理**:优雅处理超时、错误和意外响应
|
|
70
|
+
|
|
71
|
+
## 可用智能体资源
|
|
72
|
+
{chr(10).join([f"- **{c['name']}**: {c.get('description', '')}" for c in self.agents_config])}
|
|
73
|
+
|
|
74
|
+
## 最佳实践指南
|
|
75
|
+
1. **任务明确化**:每个消息专注于单一、明确的任务
|
|
76
|
+
2. **信息充分性**:提供足够信息让接收者能独立完成任务
|
|
77
|
+
3. **反馈循环**:建立清晰的反馈机制,及时调整方向
|
|
78
|
+
4. **知识共享**:确保关键信息在相关智能体间共享
|
|
79
|
+
5. **协作效率**:避免不必要的消息传递,减少协调开销
|
|
80
80
|
"""
|
|
81
81
|
|
|
82
82
|
def can_handle(self, response: str) -> bool:
|
|
@@ -115,6 +115,15 @@ content: |
|
|
|
115
115
|
|
|
116
116
|
def init_agents(self):
|
|
117
117
|
for config in self.agents_config:
|
|
118
|
+
output_handler = config.get('output_handler', [])
|
|
119
|
+
if len(output_handler) == 0:
|
|
120
|
+
output_handler = [
|
|
121
|
+
ToolRegistry(),
|
|
122
|
+
self,
|
|
123
|
+
]
|
|
124
|
+
else:
|
|
125
|
+
output_handler.append(self)
|
|
126
|
+
config['output_handler'] = output_handler
|
|
118
127
|
agent = Agent(**config)
|
|
119
128
|
self.agents[config['name']] = agent
|
|
120
129
|
|
|
@@ -146,6 +155,7 @@ def main():
|
|
|
146
155
|
Returns:
|
|
147
156
|
最终处理结果
|
|
148
157
|
"""
|
|
158
|
+
init_env()
|
|
149
159
|
import argparse
|
|
150
160
|
parser = argparse.ArgumentParser(description="多智能体系统启动器")
|
|
151
161
|
parser.add_argument("--config", "-c", required=True, help="YAML配置文件路径")
|
|
@@ -30,12 +30,6 @@ class SubAgentTool:
|
|
|
30
30
|
"description": "任务的完成目标",
|
|
31
31
|
"default": ""
|
|
32
32
|
},
|
|
33
|
-
"files": {
|
|
34
|
-
"type": "array",
|
|
35
|
-
"items": {"type": "string"},
|
|
36
|
-
"description": "相关文件路径列表,用于文件问答和处理",
|
|
37
|
-
"default": []
|
|
38
|
-
}
|
|
39
33
|
},
|
|
40
34
|
"required": ["agent_name", "task", "context", "goal"]
|
|
41
35
|
}
|
|
@@ -48,7 +42,6 @@ class SubAgentTool:
|
|
|
48
42
|
task = args["task"]
|
|
49
43
|
context = args.get("context", "")
|
|
50
44
|
goal = args.get("goal", "")
|
|
51
|
-
files = args.get("files", [])
|
|
52
45
|
|
|
53
46
|
PrettyOutput.print(f"创建子代理: {agent_name}", OutputType.INFO)
|
|
54
47
|
|
|
@@ -69,7 +62,7 @@ class SubAgentTool:
|
|
|
69
62
|
|
|
70
63
|
# Run sub-agent, pass file list
|
|
71
64
|
PrettyOutput.print("子代理开始执行任务...", OutputType.INFO)
|
|
72
|
-
result = sub_agent.run(task_description
|
|
65
|
+
result = sub_agent.run(task_description)
|
|
73
66
|
|
|
74
67
|
return {
|
|
75
68
|
"success": True,
|
|
@@ -9,7 +9,7 @@ from jarvis.jarvis_platform.registry import PlatformRegistry
|
|
|
9
9
|
import sys
|
|
10
10
|
import argparse
|
|
11
11
|
|
|
12
|
-
from jarvis.jarvis_utils.git_utils import has_uncommitted_changes
|
|
12
|
+
from jarvis.jarvis_utils.git_utils import find_git_root, has_uncommitted_changes
|
|
13
13
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
|
14
14
|
from jarvis.jarvis_utils.utils import init_env
|
|
15
15
|
|
|
@@ -51,6 +51,7 @@ class GitCommitTool:
|
|
|
51
51
|
def execute(self, args: Dict) -> Dict[str, Any]:
|
|
52
52
|
"""Execute automatic commit process with support for multi-line messages and special characters"""
|
|
53
53
|
try:
|
|
54
|
+
find_git_root()
|
|
54
55
|
if not has_uncommitted_changes():
|
|
55
56
|
PrettyOutput.print("没有未提交的更改", OutputType.SUCCESS)
|
|
56
57
|
return {"success": True, "stdout": "No changes to commit", "stderr": ""}
|
jarvis/jarvis_tools/read_code.py
CHANGED
jarvis/jarvis_utils/output.py
CHANGED
|
@@ -182,7 +182,7 @@ class PrettyOutput:
|
|
|
182
182
|
title_align="left",
|
|
183
183
|
padding=(0, 0),
|
|
184
184
|
highlight=True,
|
|
185
|
-
box=HEAVY,
|
|
185
|
+
# box=HEAVY,
|
|
186
186
|
)
|
|
187
187
|
console.print()
|
|
188
188
|
console.print(panel)
|
|
@@ -212,7 +212,7 @@ class PrettyOutput:
|
|
|
212
212
|
参数:
|
|
213
213
|
text: 要打印的文本
|
|
214
214
|
"""
|
|
215
|
-
style =
|
|
215
|
+
style = RichStyle(color="bright_cyan", italic=True, frame=True, meta={"icon": "🤖"})
|
|
216
216
|
console.print(text, style=style, end="")
|
|
217
217
|
@staticmethod
|
|
218
218
|
def print_stream_end():
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=
|
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=
|
|
1
|
+
jarvis/__init__.py,sha256=0ZoJQUdCltpUQrJdDLZo0EAN3_8xYv0anwrQ4bLeIQM,51
|
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=TOC86xH33QELYKxr-e960R75L0t-l6XmAe4DUh4CIuY,22609
|
|
3
3
|
jarvis/jarvis_agent/main.py,sha256=PfuoMkLH-QsqOXUMpJYi9GB7ewx-Ub84b1GTxqV7UBo,2515
|
|
4
4
|
jarvis/jarvis_agent/output_handler.py,sha256=kJeFTjjSu0K_2p0wyhq2veSZuhRXoaFC_8wVaoBKX0w,401
|
|
5
|
+
jarvis/jarvis_c2rust/c2rust.yaml,sha256=vsHYdz7RtjBfKvGkpjDV2rcDf9qBfU-VEBP2k0tk1AY,22858
|
|
5
6
|
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
7
|
jarvis/jarvis_code_agent/builtin_input_handler.py,sha256=HBza949NZyzZrbVlG31ITk5h0DD6MY_yjCieatvigd0,1366
|
|
7
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
|
8
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=UCDDROy-7cV1LUhaVU40YW_GIYaYSBSHqXSC-yiRa4k,8504
|
|
8
9
|
jarvis/jarvis_code_agent/file_input_handler.py,sha256=yooXbtWGziNzQKxM6xDyAmnJe4fKcD6kYakxKEJBAdw,3338
|
|
9
10
|
jarvis/jarvis_code_agent/file_select.py,sha256=2nSy1FW-kK-wvtz0YbbgSbd4ZwXMlA7sBP0nC80FzLI,8160
|
|
10
|
-
jarvis/jarvis_code_agent/patch.py,sha256=
|
|
11
|
+
jarvis/jarvis_code_agent/patch.py,sha256=V8lUvDURinnhT3HLP2AQI-DHPTOhk-75piZYFc4Zc-8,17150
|
|
11
12
|
jarvis/jarvis_code_agent/shell_input_handler.py,sha256=LTXKHNbqTKf5S2kXU255iBx_e-EsDTRaZ0aokFWkUU4,1075
|
|
12
13
|
jarvis/jarvis_codebase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
14
|
jarvis/jarvis_codebase/main.py,sha256=KSNf2RoPDn_jnfjUA5Sry7sh7iJ9Q267Z8k4dsQANRM,41325
|
|
14
|
-
jarvis/jarvis_dev/main.py,sha256=
|
|
15
|
+
jarvis/jarvis_dev/main.py,sha256=eOEvLmzG5S_X5VhvanaYLHPHHL2hpojHH6OOgnEpwAM,30413
|
|
15
16
|
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
17
|
jarvis/jarvis_git_squash/main.py,sha256=g4csaRDYH3n3MCHc8aZb2N4wWVCVZ-pIgd0oanXDnD8,2798
|
|
17
18
|
jarvis/jarvis_lsp/base.py,sha256=ceJBQoOU7JHsvQEAA3agUTedh7_ki_HgK0re7-V9rqg,4119
|
|
@@ -20,7 +21,7 @@ jarvis/jarvis_lsp/go.py,sha256=fgYBhZaiU2OQPAFQh4fBFOO--HKxkXcr8PEYyF_YlcE,4930
|
|
|
20
21
|
jarvis/jarvis_lsp/python.py,sha256=NYatk1rlah-bPnTKOn_BXwkYp0IsCUFYRGdLTVVYsCM,3708
|
|
21
22
|
jarvis/jarvis_lsp/registry.py,sha256=slD6p3FAMjL8pQx2id-RxX1pwMjP4FgyMsM3ZbckQJI,9884
|
|
22
23
|
jarvis/jarvis_lsp/rust.py,sha256=nV1EKtq5y57E47DbQlD2DsfvwFVE2JoUTs-9paxeyDo,5161
|
|
23
|
-
jarvis/jarvis_multi_agent/__init__.py,sha256=
|
|
24
|
+
jarvis/jarvis_multi_agent/__init__.py,sha256=zgTXCUJwmhrlJhz_ZK5GIfav0Q7TZ2D-poc53ydy-qw,6847
|
|
24
25
|
jarvis/jarvis_platform/__init__.py,sha256=mrOt67nselz_H1gX9wdAO4y2DY5WPXzABqJbr5Des8k,63
|
|
25
26
|
jarvis/jarvis_platform/ai8.py,sha256=xjgoiF7QHx_5FHj-npTFVvZFYg8RBzkqTGAOQ-MJiL0,11972
|
|
26
27
|
jarvis/jarvis_platform/base.py,sha256=2chHt0pMx4rr0OFTeDpZcVqFUxF_q4YslUt30E5Augk,3277
|
|
@@ -28,7 +29,7 @@ jarvis/jarvis_platform/kimi.py,sha256=Qwb81flbKPvj-qZyJAMS_u0lQatRFQztYxUGDbj1ke
|
|
|
28
29
|
jarvis/jarvis_platform/ollama.py,sha256=NHQMJSpC91WtSFuHKJuwD8qO-z4yDTF9mZX6BzWTKRU,5658
|
|
29
30
|
jarvis/jarvis_platform/openai.py,sha256=GSxTB69WitXJS3pL0sxCoB2F0EVHmvhrwLBC_JT8s34,4470
|
|
30
31
|
jarvis/jarvis_platform/oyi.py,sha256=pa72TtBYlhs3KPpqO4Y78a1Jvx4mN0pojBklu8X3F-k,15024
|
|
31
|
-
jarvis/jarvis_platform/registry.py,sha256=
|
|
32
|
+
jarvis/jarvis_platform/registry.py,sha256=g-fz4VSlMyovLpZoim023CdnZ8e9W0kZyO0GxatlAp0,8523
|
|
32
33
|
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
34
|
jarvis/jarvis_platform_manager/main.py,sha256=84j3voQDOVhvCqWxf-SGpdrYQPcf0pA5qUKe7b5oPUE,20898
|
|
34
35
|
jarvis/jarvis_platform_manager/openai_test.py,sha256=bkcVG6o2nNazj4zjkENgA4yOEzdTI9Qbm5dco-2MGYM,5190
|
|
@@ -43,11 +44,11 @@ jarvis/jarvis_tools/base.py,sha256=8gIgIx9LJAKOxdpPu7zMDItWqwXmXVTWAGfUkpQonzw,1
|
|
|
43
44
|
jarvis/jarvis_tools/chdir.py,sha256=GLbH2fOKESUn3XYhNg0uOI5axTO2csC0B9HUL0bMZ5U,2790
|
|
44
45
|
jarvis/jarvis_tools/code_review.py,sha256=4TMsTehbIq3W-K-LvHjMwbaGtt66sbSM6nij30YsxlU,10039
|
|
45
46
|
jarvis/jarvis_tools/create_code_agent.py,sha256=lVnTP1Kq4q8aWOJ97YTf8POds-Hb3qeYS6MNOiM0wF4,3768
|
|
46
|
-
jarvis/jarvis_tools/create_sub_agent.py,sha256=
|
|
47
|
+
jarvis/jarvis_tools/create_sub_agent.py,sha256=7WhbFpFpS7o-yDbFC2xeKypH05H7ovBWIGNVZzK48po,2481
|
|
47
48
|
jarvis/jarvis_tools/execute_shell.py,sha256=5LWWae8LKX4Qe3DIkSiLpcEvkCcF1ruvY0gbAIrT1Nw,3914
|
|
48
49
|
jarvis/jarvis_tools/execute_shell_script.py,sha256=JLs_4p3rXS_d0PdfS6lP_4ojFlD0SayAe0PNEGVfyzE,2030
|
|
49
50
|
jarvis/jarvis_tools/file_operation.py,sha256=3dcbugrzSaXHV7m98k1E_CpEIK2v4DYqZNZQim-fuxM,6973
|
|
50
|
-
jarvis/jarvis_tools/git_commiter.py,sha256=
|
|
51
|
+
jarvis/jarvis_tools/git_commiter.py,sha256=hG2-DIYbOFsRegDgkTGGGhdIH2_uk4-EPk2w53TtS2g,5576
|
|
51
52
|
jarvis/jarvis_tools/lsp_find_definition.py,sha256=LqAOf6W4_WZR2GmtQXb7pMSduJzK_g3ysaOrgxu8CDE,4755
|
|
52
53
|
jarvis/jarvis_tools/lsp_find_references.py,sha256=IR1QcRi-p4zHS0YENb7vDNMUSuGQUTA4W9bPa9-VO-Y,4028
|
|
53
54
|
jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=_u2lsSFY7GkOlyKD2CFnvEpkZzAjNfEUMsM9dKGQz40,4754
|
|
@@ -55,7 +56,7 @@ jarvis/jarvis_tools/lsp_get_document_symbols.py,sha256=c7_9jP1toe_kepaTmZf1R1jn-
|
|
|
55
56
|
jarvis/jarvis_tools/lsp_prepare_rename.py,sha256=HIeJjup8luIH25XuLqTVdejWDT5vOn-IWSo-TKDFjZ4,4821
|
|
56
57
|
jarvis/jarvis_tools/methodology.py,sha256=jLYFji3hP7Gff7WFRuR-_VmPHI8Rqq0EGDIgackhqtc,5787
|
|
57
58
|
jarvis/jarvis_tools/rag.py,sha256=WuTlyGV5rgZTRxts9eJPC3QABrsoNYKratdO8UzUFDw,5132
|
|
58
|
-
jarvis/jarvis_tools/read_code.py,sha256=
|
|
59
|
+
jarvis/jarvis_tools/read_code.py,sha256=pZFY1O6psFJsngVnFkk8eXcohm8Ioff7ffnyw2HdGBo,5430
|
|
59
60
|
jarvis/jarvis_tools/read_webpage.py,sha256=TkVNgirvcjns8-MHaDXOmliOKWCYcq3WzcbVXBi0IxY,4173
|
|
60
61
|
jarvis/jarvis_tools/registry.py,sha256=pYyjdyjYgvHfdglhp0I7YXfVIV8_jTSncoSgIG6HFUw,13719
|
|
61
62
|
jarvis/jarvis_tools/search_web.py,sha256=yzu2EP63It2but0LFUR0x1hlCkyTyr1AwY4APvxmniE,12903
|
|
@@ -68,11 +69,11 @@ jarvis/jarvis_utils/git_utils.py,sha256=wU2CPmRP4cUnm5Omz1-a7l4HYML-dYZAZ5bwNrLo
|
|
|
68
69
|
jarvis/jarvis_utils/globals.py,sha256=nvykWxBnqfAFqAIyJfxP5Y1yYIXIQXjippVE5i2Bubg,2269
|
|
69
70
|
jarvis/jarvis_utils/input.py,sha256=_PjnmRFWoe2dSxY6nBaKZoMkFLkkMJsDjXybiASYLek,6466
|
|
70
71
|
jarvis/jarvis_utils/methodology.py,sha256=915rbvNbrOAJHBRUFq_h06BC_lA2eezCtBmZMbIk0B0,6351
|
|
71
|
-
jarvis/jarvis_utils/output.py,sha256=
|
|
72
|
+
jarvis/jarvis_utils/output.py,sha256=1X4cd_M2gwL9-W2M44BwGNtmeFwFXmtC1_RvbwC_AR4,8373
|
|
72
73
|
jarvis/jarvis_utils/utils.py,sha256=DfnCwgPfQpX5DZz9WGbXkWoDYrB7qnVmA6JVPoFnBuk,5564
|
|
73
|
-
jarvis_ai_assistant-0.1.
|
|
74
|
-
jarvis_ai_assistant-0.1.
|
|
75
|
-
jarvis_ai_assistant-0.1.
|
|
76
|
-
jarvis_ai_assistant-0.1.
|
|
77
|
-
jarvis_ai_assistant-0.1.
|
|
78
|
-
jarvis_ai_assistant-0.1.
|
|
74
|
+
jarvis_ai_assistant-0.1.130.dist-info/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
75
|
+
jarvis_ai_assistant-0.1.130.dist-info/METADATA,sha256=r9icP4e77X7c4CTSyFPserE_Exu4Na6_zihnyXSK850,10519
|
|
76
|
+
jarvis_ai_assistant-0.1.130.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
77
|
+
jarvis_ai_assistant-0.1.130.dist-info/entry_points.txt,sha256=npKEpBACgZAF97wZgHSJNnturrh9DP33usD0kzjMXPo,771
|
|
78
|
+
jarvis_ai_assistant-0.1.130.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
79
|
+
jarvis_ai_assistant-0.1.130.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.129.dist-info → jarvis_ai_assistant-0.1.130.dist-info}/top_level.txt
RENAMED
|
File without changes
|