jarvis-ai-assistant 0.1.198__tar.gz → 0.1.199__tar.gz

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.
Files changed (105) hide show
  1. {jarvis_ai_assistant-0.1.198/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.199}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/pyproject.toml +1 -1
  3. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/edit_file.py +3 -3
  6. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/rewrite_file.py +22 -9
  7. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/utils.py +6 -4
  8. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  9. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/LICENSE +0 -0
  10. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/MANIFEST.in +0 -0
  11. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/README.md +0 -0
  12. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/setup.cfg +0 -0
  13. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_agent/__init__.py +0 -0
  14. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
  15. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_agent/jarvis.py +0 -0
  16. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_agent/main.py +0 -0
  17. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  18. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  19. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  20. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_agent/code_agent.py +0 -0
  21. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_agent/lint.py +0 -0
  22. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  23. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  24. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  25. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  26. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  27. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  28. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  29. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  30. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  31. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  32. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  33. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
  34. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  35. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  36. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  37. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  38. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  39. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  40. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  41. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  42. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
  43. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_data/config_schema.json +0 -0
  44. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_data/huggingface.tar.gz +0 -0
  45. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_dev/main.py +0 -0
  46. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_git_details/__init__.py +0 -0
  47. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_git_details/main.py +0 -0
  48. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  49. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_git_squash/main.py +0 -0
  50. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
  51. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  52. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
  53. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
  54. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
  55. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_methodology/main.py +0 -0
  56. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
  57. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_multi_agent/main.py +0 -0
  58. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/__init__.py +0 -0
  59. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/base.py +0 -0
  60. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/human.py +0 -0
  61. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/kimi.py +0 -0
  62. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/openai.py +0 -0
  63. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/registry.py +0 -0
  64. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/tongyi.py +0 -0
  65. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
  66. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  67. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_platform_manager/main.py +0 -0
  68. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  69. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_smart_shell/main.py +0 -0
  70. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/__init__.py +0 -0
  71. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/ask_user.py +0 -0
  72. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/base.py +0 -0
  73. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/chdir.py +0 -0
  74. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  75. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/cli/main.py +0 -0
  76. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/code_plan.py +0 -0
  77. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/create_code_agent.py +0 -0
  78. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/create_sub_agent.py +0 -0
  79. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/execute_script.py +0 -0
  80. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
  81. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/file_operation.py +0 -0
  82. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
  83. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/methodology.py +0 -0
  84. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/read_code.py +0 -0
  85. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
  86. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/registry.py +0 -0
  87. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/search_web.py +0 -0
  88. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
  89. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/__init__.py +0 -0
  90. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
  91. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/config.py +0 -0
  92. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/embedding.py +0 -0
  93. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/file_processors.py +0 -0
  94. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/git_utils.py +0 -0
  95. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/globals.py +0 -0
  96. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/input.py +0 -0
  97. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/jarvis_history.py +0 -0
  98. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/methodology.py +0 -0
  99. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/output.py +0 -0
  100. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis/jarvis_utils/tag.py +0 -0
  101. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  102. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  103. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  104. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  105. {jarvis_ai_assistant-0.1.198 → jarvis_ai_assistant-0.1.199}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.198
3
+ Version: 0.1.199
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
@@ -8,7 +8,7 @@ default = true
8
8
 
9
9
  [project]
10
10
  name = "jarvis-ai-assistant"
11
- version = "0.1.198"
11
+ version = "0.1.199"
12
12
  description = "Jarvis: An AI assistant that uses tools to interact with the system"
13
13
  readme = "README.md"
14
14
  authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
3
3
 
4
4
  setup(
5
5
  name="jarvis-ai-assistant",
6
- version="0.1.198",
6
+ version="0.1.199",
7
7
  author="skyfire",
8
8
  author_email="skyfireitdiy@hotmail.com",
9
9
  description="An AI assistant that uses various tools to interact with the system",
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """Jarvis AI Assistant"""
3
3
 
4
- __version__ = "0.1.198"
4
+ __version__ = "0.1.199"
@@ -444,7 +444,7 @@ def fast_edit(
444
444
  # 如果有多处,报错
445
445
  if modified_content.count(search_text) > 1:
446
446
  success = False
447
- err_msg = f"搜索文本 {search_text} 在文件中存在多处,请检查补丁内容"
447
+ err_msg = f"搜索文本 ```\n{search_text}\n``` 在文件中存在多处,请检查补丁内容"
448
448
  break
449
449
  # 应用替换
450
450
  modified_content = modified_content.replace(search_text, replace_text)
@@ -465,7 +465,7 @@ def fast_edit(
465
465
  if indented_search in modified_content:
466
466
  if modified_content.count(indented_search) > 1:
467
467
  success = False
468
- err_msg = f"搜索文本 {indented_search} 在文件中存在多处,请检查补丁内容"
468
+ err_msg = f"搜索文本 ```\n{indented_search}\n``` 在文件中存在多处,请检查补丁内容"
469
469
  break
470
470
  modified_content = modified_content.replace(
471
471
  indented_search, indented_replace
@@ -478,7 +478,7 @@ def fast_edit(
478
478
 
479
479
  if not found:
480
480
  success = False
481
- err_msg = f"搜索文本 {search_text} 在文件中不存在,尝试增加1-16个空格缩进后仍未找到匹配"
481
+ err_msg = f"搜索文本 ```\n{search_text}\n``` 在文件中不存在,尝试增加1-16个空格缩进后仍未找到匹配"
482
482
  break
483
483
  if not success:
484
484
  revert_file(filepath)
@@ -86,6 +86,8 @@ class FileRewriteTool:
86
86
 
87
87
  file_path = args["file"]
88
88
  new_content = args["content"]
89
+ agent = args.get("agent", None)
90
+ abs_path = os.path.abspath(file_path)
89
91
 
90
92
  # 创建已处理文件变量,用于失败时回滚
91
93
  original_content = None
@@ -97,20 +99,20 @@ class FileRewriteTool:
97
99
  try:
98
100
  # 如果文件存在,则读取原内容用于回滚
99
101
  if file_exists:
100
- with open(file_path, "r", encoding="utf-8") as f:
102
+ with open(abs_path, "r", encoding="utf-8") as f:
101
103
  original_content = f.read()
102
104
 
103
105
  # 确保目录存在
104
- os.makedirs(os.path.dirname(os.path.abspath(file_path)), exist_ok=True)
106
+ os.makedirs(os.path.dirname(abs_path), exist_ok=True)
105
107
 
106
108
  # 写入新内容
107
- with open(file_path, "w", encoding="utf-8") as f:
109
+ with open(abs_path, "w", encoding="utf-8") as f:
108
110
  f.write(new_content)
109
111
 
110
112
  processed = True
111
113
 
112
114
  action = "创建并写入" if not file_exists else "成功重写"
113
- stdout_message = f"文件 {file_path} {action}"
115
+ stdout_message = f"文件 {abs_path} {action}"
114
116
  stdout_messages.append(stdout_message)
115
117
  PrettyOutput.print(stdout_message, OutputType.SUCCESS)
116
118
 
@@ -129,14 +131,14 @@ class FileRewriteTool:
129
131
  try:
130
132
  if original_content is None:
131
133
  # 如果是新创建的文件,则删除
132
- if os.path.exists(file_path):
133
- os.remove(file_path)
134
- rollback_file_message = f"已删除新创建的文件: {file_path}"
134
+ if os.path.exists(abs_path):
135
+ os.remove(abs_path)
136
+ rollback_file_message = f"已删除新创建的文件: {abs_path}"
135
137
  else:
136
138
  # 如果是修改的文件,则恢复原内容
137
- with open(file_path, "w", encoding="utf-8") as f:
139
+ with open(abs_path, "w", encoding="utf-8") as f:
138
140
  f.write(original_content)
139
- rollback_file_message = f"已回滚文件: {file_path}"
141
+ rollback_file_message = f"已回滚文件: {abs_path}"
140
142
 
141
143
  stderr_messages.append(rollback_file_message)
142
144
  PrettyOutput.print(rollback_file_message, OutputType.INFO)
@@ -145,6 +147,17 @@ class FileRewriteTool:
145
147
  stderr_messages.append(rollback_error)
146
148
  PrettyOutput.print(rollback_error, OutputType.WARNING)
147
149
 
150
+ # 记录成功处理的文件(使用绝对路径)
151
+ if success and agent:
152
+ abs_path = os.path.abspath(file_path)
153
+ files = agent.get_user_data("files")
154
+ if files:
155
+ if abs_path not in files:
156
+ files.append(abs_path)
157
+ else:
158
+ files = [abs_path]
159
+ agent.set_user_data("files", files)
160
+
148
161
  return {
149
162
  "success": success,
150
163
  "stdout": "\n".join(stdout_messages),
@@ -9,7 +9,6 @@ from pathlib import Path
9
9
  from typing import Any, Callable, Dict, Optional
10
10
 
11
11
  import yaml
12
-
13
12
  from jarvis import __version__
14
13
  from jarvis.jarvis_utils.config import (get_data_dir, get_max_big_content_size,
15
14
  set_global_env_data)
@@ -273,9 +272,12 @@ def user_confirm(tip: str, default: bool = True) -> bool:
273
272
  返回:
274
273
  bool: 用户确认返回True,否则返回False
275
274
  """
276
- suffix = "[Y/n]" if default else "[y/N]"
277
- ret = get_single_line_input(f"{tip} {suffix}: ")
278
- return default if ret == "" else ret.lower() == "y"
275
+ try:
276
+ suffix = "[Y/n]" if default else "[y/N]"
277
+ ret = get_single_line_input(f"{tip} {suffix}: ")
278
+ return default if ret == "" else ret.lower() == "y"
279
+ except KeyboardInterrupt:
280
+ return False
279
281
 
280
282
 
281
283
  def get_file_line_count(filename: str) -> int:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.198
3
+ Version: 0.1.199
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