jarvis-ai-assistant 0.1.204__py3-none-any.whl → 0.1.205__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 CHANGED
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """Jarvis AI Assistant"""
3
3
 
4
- __version__ = "0.1.204"
4
+ __version__ = "0.1.205"
@@ -2,12 +2,13 @@ import os
2
2
  import re
3
3
  from typing import Any, Dict, List, Tuple
4
4
 
5
- from yaspin import yaspin
6
- from yaspin.core import Yaspin
5
+ from yaspin import yaspin # type: ignore
6
+ from yaspin.core import Yaspin # type: ignore
7
7
 
8
8
  from jarvis.jarvis_agent.output_handler import OutputHandler
9
9
  from jarvis.jarvis_platform.registry import PlatformRegistry
10
10
  from jarvis.jarvis_utils.git_utils import revert_file
11
+ from jarvis.jarvis_utils.globals import get_interrupt, set_interrupt
11
12
  from jarvis.jarvis_utils.output import OutputType, PrettyOutput
12
13
  from jarvis.jarvis_utils.tag import ct, ot
13
14
  from jarvis.jarvis_utils.utils import is_context_overflow
@@ -322,7 +323,6 @@ class EditFileHandler(OutputHandler):
322
323
  for patch in patches:
323
324
  patch_content.append(
324
325
  {
325
- "reason": "根据用户指令修改代码",
326
326
  "SEARCH": patch["SEARCH"],
327
327
  "REPLACE": patch["REPLACE"],
328
328
  }
@@ -385,10 +385,12 @@ class EditFileHandler(OutputHandler):
385
385
  response = model.chat_until_success(main_prompt + file_prompt)
386
386
 
387
387
  # 检查是否被中断
388
- from jarvis.jarvis_utils.globals import get_interrupt
389
-
390
388
  if get_interrupt():
391
- return False, "用户中断了补丁应用"
389
+ set_interrupt(False)
390
+ user_input = agent.multiline_inputer("补丁应用被中断,请输入补充信息:")
391
+ if not user_input.strip():
392
+ return False, "用户中断了补丁应用"
393
+ return False, f"用户中断了补丁应用并提供了补充信息: {user_input}"
392
394
 
393
395
  # 解析生成的补丁
394
396
  diff_blocks = re.finditer(
jarvis/jarvis_dev/main.py CHANGED
@@ -1227,7 +1227,7 @@ def main():
1227
1227
  while True:
1228
1228
  try:
1229
1229
  user_input = get_multiline_input(
1230
- "\nEnter your request (or press Enter to exit): "
1230
+ "\n请输入你的需求:"
1231
1231
  )
1232
1232
  if not user_input:
1233
1233
  break
@@ -3,10 +3,10 @@ import re
3
3
  from abc import ABC, abstractmethod
4
4
  from typing import Generator, List, Tuple
5
5
 
6
- from rich import box
7
- from rich.live import Live
8
- from rich.panel import Panel
9
- from rich.text import Text
6
+ from rich import box # type: ignore
7
+ from rich.live import Live # type: ignore
8
+ from rich.panel import Panel # type: ignore
9
+ from rich.text import Text # type: ignore
10
10
 
11
11
  from jarvis.jarvis_utils.config import (get_max_input_token_count,
12
12
  get_pretty_output, is_print_prompt)
@@ -3,7 +3,6 @@
3
3
  from typing import Any, Dict
4
4
 
5
5
  # 导入多行输入工具和输出工具
6
- from jarvis.jarvis_utils.input import get_multiline_input
7
6
  from jarvis.jarvis_utils.output import OutputType, PrettyOutput
8
7
 
9
8
 
@@ -41,7 +40,7 @@ class AskUserTool:
41
40
  PrettyOutput.print(f"问题: {question}", OutputType.SYSTEM)
42
41
 
43
42
  # 获取用户输入
44
- user_response = get_multiline_input("请输入您的答案 (输入空行结束)")
43
+ user_response = agent.multiline_inputer("请输入您的答案 (输入空行结束)")
45
44
 
46
45
  # 返回成功响应,包含用户输入的内容
47
46
  return {"success": True, "stdout": user_response, "stderr": ""}
@@ -8,16 +8,16 @@
8
8
  - 带有模糊匹配的文件路径补全
9
9
  - 用于输入控制的自定义键绑定
10
10
  """
11
- from colorama import Fore
12
- from colorama import Style as ColoramaStyle
13
- from fuzzywuzzy import process
14
- from prompt_toolkit import PromptSession
15
- from prompt_toolkit.completion import (CompleteEvent, Completer, Completion,
16
- PathCompleter)
17
- from prompt_toolkit.document import Document
18
- from prompt_toolkit.formatted_text import FormattedText
19
- from prompt_toolkit.key_binding import KeyBindings
20
- from prompt_toolkit.styles import Style as PromptStyle
11
+ from colorama import Fore # type: ignore
12
+ from colorama import Style as ColoramaStyle # type: ignore
13
+ from fuzzywuzzy import process # type: ignore
14
+ from prompt_toolkit import PromptSession # type: ignore
15
+ from prompt_toolkit.completion import (CompleteEvent, Completer, Completion, # type: ignore
16
+ PathCompleter) # type: ignore
17
+ from prompt_toolkit.document import Document # type: ignore
18
+ from prompt_toolkit.formatted_text import FormattedText # type: ignore
19
+ from prompt_toolkit.key_binding import KeyBindings # type: ignore
20
+ from prompt_toolkit.styles import Style as PromptStyle # type: ignore
21
21
 
22
22
  from jarvis.jarvis_utils.config import get_replace_map
23
23
  from jarvis.jarvis_utils.output import OutputType, PrettyOutput
@@ -217,7 +217,7 @@ def get_multiline_input(tip: str) -> str:
217
217
  try:
218
218
  import os
219
219
 
220
- from prompt_toolkit.history import FileHistory
220
+ from prompt_toolkit.history import FileHistory # type: ignore
221
221
 
222
222
  from jarvis.jarvis_utils.config import get_data_dir
223
223
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.204
3
+ Version: 0.1.205
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
@@ -1,7 +1,7 @@
1
- jarvis/__init__.py,sha256=UDh5Y6TS3pEClTKJiBqauJhuIdv8Ac1oL1CV3QMs8k4,75
1
+ jarvis/__init__.py,sha256=AD-c4S6W2qnfY5YYsnCHttsVd9Wwv1HTyopZCkPV7y0,75
2
2
  jarvis/jarvis_agent/__init__.py,sha256=X5BWIOzxXUWtCbpDkTFfUYskf6sbNzb1qQu8nQ4NN1k,34371
3
3
  jarvis/jarvis_agent/builtin_input_handler.py,sha256=1V7kV5Zhw2HE3Xgjs1R-43RZ2huq3Kg-32NCdNnyZmA,2216
4
- jarvis/jarvis_agent/edit_file_handler.py,sha256=Z8pDAXFl9bzreNQm3TfxejOunHcTNXYm8KTu9oBDIfI,16690
4
+ jarvis/jarvis_agent/edit_file_handler.py,sha256=QHimoPGfg2oftmoV8cENl09tc83gnnlXk58D2rIOEJM,16952
5
5
  jarvis/jarvis_agent/jarvis.py,sha256=GH2zi8eXNpW8twiY3LKDEZgGmFC5geB0jlkwFrm7hOQ,6279
6
6
  jarvis/jarvis_agent/main.py,sha256=c6bQe-8LXvW2-NBn9Rn_yPYdrwnkJ8KQaSFY2cPvkxw,2775
7
7
  jarvis/jarvis_agent/output_handler.py,sha256=P7oWpXBGFfOsWq7cIhS_z9crkQ19ES7qU5pM92KKjAs,1172
@@ -32,7 +32,7 @@ jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQ
32
32
  jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
33
33
  jarvis/jarvis_data/config_schema.json,sha256=yMXCNy8-CRL44r9GKBClvX6LBX20cpm7QOW9TSffAbs,6533
34
34
  jarvis/jarvis_data/huggingface.tar.gz,sha256=dWKnc_tvyx-I_ZkXo91O0b38KxDmLW1ZbmJ3E6fCl_k,1120205
35
- jarvis/jarvis_dev/main.py,sha256=zzVDrPQlPJFnHxNjChBAYA8YwIaQYmPxG-bHjIxdL3s,40940
35
+ jarvis/jarvis_dev/main.py,sha256=1elwLV0uKX0CjjlAEKG5uTYHJz5K3qEki49Pv7KMLFw,40919
36
36
  jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  jarvis/jarvis_git_details/main.py,sha256=MjpUHB4ErR_SKPBx1TLLK_XLkH427RTtsyVn6EUd88Y,8907
38
38
  jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -46,7 +46,7 @@ jarvis/jarvis_methodology/main.py,sha256=NMtd6DRn-Q8NcYtQ3qgTKUp9RW0cDGJod8ZXebl
46
46
  jarvis/jarvis_multi_agent/__init__.py,sha256=sDd3sK88dS7_qAz2ywIAaEWdQ4iRVCiuBu2rQQmrKbU,4512
47
47
  jarvis/jarvis_multi_agent/main.py,sha256=h7VUSwoPrES0XTK8z5kt3XLX1mmcm8UEuFEHQOUWPH4,1696
48
48
  jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
49
- jarvis/jarvis_platform/base.py,sha256=JmTabJkEG5FdLWnlo70IREixpPS9VWiyfTvaf5h1BfM,7717
49
+ jarvis/jarvis_platform/base.py,sha256=h0PpzqKlp1wmHaES16i6ZT4ChW-epKe1r3gvvqP1Gd4,7777
50
50
  jarvis/jarvis_platform/human.py,sha256=r8Vlltp_LirJZeZh1Mmi30iJr9tl1JaNFoqthSRHF6o,2826
51
51
  jarvis/jarvis_platform/kimi.py,sha256=uIpSWQ3MqDBYYMROeXin_YqM2LFrovMICKpwLWO1ODo,12784
52
52
  jarvis/jarvis_platform/openai.py,sha256=uEjBikfFj7kp5wondLvOx4WdkmTX0aqF6kixxAufcHg,4806
@@ -58,7 +58,7 @@ jarvis/jarvis_platform_manager/main.py,sha256=BdBH2tPzq7p9Mvii7abu6M7uj4lfG05gwj
58
58
  jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
59
  jarvis/jarvis_smart_shell/main.py,sha256=YfQNGKanhYHAUCh6ZYLpevWpSlaFo_YfteSK9pakjB0,5295
60
60
  jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- jarvis/jarvis_tools/ask_user.py,sha256=dSnZbt2XXDxjDj17Mi7-Twg75yHhMzM_FEj_TazJvC8,2068
61
+ jarvis/jarvis_tools/ask_user.py,sha256=w_l9WQK6uhyGGXqtyTsSyiHLNjNfIgzUvOAevjuay-0,2014
62
62
  jarvis/jarvis_tools/base.py,sha256=tFVmK6ppsImW2BzHZmrNmMRiOJdW-4aZP6Me3VxdYcA,1194
63
63
  jarvis/jarvis_tools/chdir.py,sha256=BlRvggcOeBM7UwHGL8U8hjuNm_WGkH5BdhxmPVJXejw,2509
64
64
  jarvis/jarvis_tools/code_plan.py,sha256=XRXHdkN4O1A4qbShLa4VBHFdRl6YdyMgZxbPPotrqNs,7358
@@ -85,15 +85,15 @@ jarvis/jarvis_utils/embedding.py,sha256=suqKOgH4cq2HYj4xvNpqDPN9pyc3hTCl934xYonF
85
85
  jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
86
86
  jarvis/jarvis_utils/git_utils.py,sha256=E1ibh4qTJ84JuweDex3nF4jrSMsXk9pNJ58lVG9NF6A,18926
87
87
  jarvis/jarvis_utils/globals.py,sha256=9NTMfCVd0jvtloOv14-KE6clhcVStFmyN9jWxLmQ5so,3369
88
- jarvis/jarvis_utils/input.py,sha256=WOs9hYSiZE3ao5K-UJmC7KyZByYnC1opHGJTUZm7DVo,7884
88
+ jarvis/jarvis_utils/input.py,sha256=ehvHkIgwqnBOHkwOeRCBFRggqOgOZuUdGQXn2ATUFwU,8049
89
89
  jarvis/jarvis_utils/jarvis_history.py,sha256=Td6cmze9Oc5-Ewz0l9RKYeSg_-fbEu9ZhyEueHEMcLY,3664
90
90
  jarvis/jarvis_utils/methodology.py,sha256=MhPrMxMqElyAn54BDfpQdUqrRr7IbSlrLvAI39LCgTM,8487
91
91
  jarvis/jarvis_utils/output.py,sha256=PRCgudPOB8gMEP3u-g0FGD2c6tBgJhLXUMqNPglfjV8,10813
92
92
  jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
93
93
  jarvis/jarvis_utils/utils.py,sha256=RYFQx7OkOu3fe_QhS-5jx7O06k_58X14S-9PFJgwOa4,12178
94
- jarvis_ai_assistant-0.1.204.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
95
- jarvis_ai_assistant-0.1.204.dist-info/METADATA,sha256=FPuxqPRHqfSMGyttK-ZbHOoYlIjO9Y8Upa2qFUhGMzk,20215
96
- jarvis_ai_assistant-0.1.204.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
97
- jarvis_ai_assistant-0.1.204.dist-info/entry_points.txt,sha256=Gy3DOP1PYLMK0GCj4rrP_9lkOyBQ39EK_lKGUSwn41E,869
98
- jarvis_ai_assistant-0.1.204.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
99
- jarvis_ai_assistant-0.1.204.dist-info/RECORD,,
94
+ jarvis_ai_assistant-0.1.205.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
95
+ jarvis_ai_assistant-0.1.205.dist-info/METADATA,sha256=oB5LeBNwK-14rRo3EXWZtCZdZxZUJ-GlL-VaIl8zAwo,20215
96
+ jarvis_ai_assistant-0.1.205.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
97
+ jarvis_ai_assistant-0.1.205.dist-info/entry_points.txt,sha256=Gy3DOP1PYLMK0GCj4rrP_9lkOyBQ39EK_lKGUSwn41E,869
98
+ jarvis_ai_assistant-0.1.205.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
99
+ jarvis_ai_assistant-0.1.205.dist-info/RECORD,,