jarvis-ai-assistant 0.1.177__py3-none-any.whl → 0.1.179__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.

Files changed (73) hide show
  1. jarvis/__init__.py +1 -1
  2. jarvis/jarvis_agent/__init__.py +145 -125
  3. jarvis/jarvis_agent/builtin_input_handler.py +1 -1
  4. jarvis/jarvis_agent/jarvis.py +9 -13
  5. jarvis/jarvis_agent/main.py +4 -2
  6. jarvis/jarvis_code_agent/code_agent.py +34 -23
  7. jarvis/jarvis_code_agent/lint.py +164 -0
  8. jarvis/jarvis_code_analysis/checklists/loader.py +6 -20
  9. jarvis/jarvis_code_analysis/code_review.py +8 -6
  10. jarvis/jarvis_dev/main.py +1 -8
  11. jarvis/jarvis_event/__init__.py +0 -0
  12. jarvis/jarvis_git_details/main.py +1 -1
  13. jarvis/jarvis_git_squash/main.py +5 -3
  14. jarvis/jarvis_git_utils/git_commiter.py +24 -23
  15. jarvis/jarvis_mcp/sse_mcp_client.py +6 -4
  16. jarvis/jarvis_mcp/stdio_mcp_client.py +5 -4
  17. jarvis/jarvis_mcp/streamable_mcp_client.py +404 -0
  18. jarvis/jarvis_methodology/main.py +10 -9
  19. jarvis/jarvis_multi_agent/main.py +3 -1
  20. jarvis/jarvis_platform/base.py +14 -8
  21. jarvis/jarvis_platform/human.py +3 -1
  22. jarvis/jarvis_platform/kimi.py +10 -7
  23. jarvis/jarvis_platform/openai.py +70 -11
  24. jarvis/jarvis_platform/registry.py +6 -2
  25. jarvis/jarvis_platform/yuanbao.py +13 -10
  26. jarvis/jarvis_platform_manager/main.py +11 -9
  27. jarvis/jarvis_smart_shell/main.py +1 -0
  28. jarvis/jarvis_tools/ask_codebase.py +6 -4
  29. jarvis/jarvis_tools/ask_user.py +2 -1
  30. jarvis/jarvis_tools/base.py +3 -1
  31. jarvis/jarvis_tools/chdir.py +2 -1
  32. jarvis/jarvis_tools/cli/main.py +1 -0
  33. jarvis/jarvis_tools/code_plan.py +5 -3
  34. jarvis/jarvis_tools/create_code_agent.py +5 -2
  35. jarvis/jarvis_tools/create_sub_agent.py +1 -3
  36. jarvis/jarvis_tools/edit_file.py +37 -29
  37. jarvis/jarvis_tools/execute_script.py +1 -1
  38. jarvis/jarvis_tools/file_analyzer.py +5 -3
  39. jarvis/jarvis_tools/file_operation.py +4 -7
  40. jarvis/jarvis_tools/find_methodology.py +4 -2
  41. jarvis/jarvis_tools/generate_new_tool.py +2 -1
  42. jarvis/jarvis_tools/methodology.py +3 -4
  43. jarvis/jarvis_tools/read_code.py +2 -1
  44. jarvis/jarvis_tools/read_webpage.py +3 -1
  45. jarvis/jarvis_tools/registry.py +23 -14
  46. jarvis/jarvis_tools/rewrite_file.py +2 -1
  47. jarvis/jarvis_tools/search_web.py +1 -0
  48. jarvis/jarvis_tools/virtual_tty.py +5 -4
  49. jarvis/jarvis_utils/__init__.py +2 -0
  50. jarvis/jarvis_utils/builtin_replace_map.py +1 -1
  51. jarvis/jarvis_utils/config.py +40 -1
  52. jarvis/jarvis_utils/embedding.py +4 -3
  53. jarvis/jarvis_utils/file_processors.py +1 -0
  54. jarvis/jarvis_utils/git_utils.py +55 -25
  55. jarvis/jarvis_utils/globals.py +4 -2
  56. jarvis/jarvis_utils/input.py +14 -7
  57. jarvis/jarvis_utils/methodology.py +6 -4
  58. jarvis/jarvis_utils/output.py +10 -6
  59. jarvis/jarvis_utils/utils.py +89 -13
  60. {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/METADATA +45 -33
  61. jarvis_ai_assistant-0.1.179.dist-info/RECORD +98 -0
  62. jarvis/jarvis_lsp/base.py +0 -66
  63. jarvis/jarvis_lsp/cpp.py +0 -99
  64. jarvis/jarvis_lsp/go.py +0 -104
  65. jarvis/jarvis_lsp/python.py +0 -58
  66. jarvis/jarvis_lsp/registry.py +0 -169
  67. jarvis/jarvis_lsp/rust.py +0 -107
  68. jarvis/jarvis_tools/lsp_get_diagnostics.py +0 -147
  69. jarvis_ai_assistant-0.1.177.dist-info/RECORD +0 -102
  70. {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/WHEEL +0 -0
  71. {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/entry_points.txt +0 -0
  72. {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/licenses/LICENSE +0 -0
  73. {jarvis_ai_assistant-0.1.177.dist-info → jarvis_ai_assistant-0.1.179.dist-info}/top_level.txt +0 -0
jarvis/jarvis_lsp/rust.py DELETED
@@ -1,107 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- import os
3
- import shutil
4
- import subprocess
5
- from typing import List, Dict, Optional, Any
6
- import json
7
- from jarvis.jarvis_lsp.base import BaseLSP
8
- from jarvis.jarvis_utils.output import OutputType, PrettyOutput
9
-
10
- class RustLSP(BaseLSP):
11
- """Rust LSP implementation using rust-analyzer."""
12
-
13
- language = "rust"
14
-
15
- @staticmethod
16
- def check() -> bool:
17
- """Check if rust-analyzer is installed."""
18
- return shutil.which("rust-analyzer") is not None
19
-
20
- def __init__(self):
21
- self.workspace_path = ""
22
- self.analyzer_process = None
23
- self.request_id = 0
24
-
25
- def initialize(self, workspace_path: str) -> bool:
26
- try:
27
- self.workspace_path = workspace_path
28
- # Start rust-analyzer process
29
- self.analyzer_process = subprocess.Popen(
30
- ["rust-analyzer"],
31
- stdin=subprocess.PIPE,
32
- stdout=subprocess.PIPE,
33
- stderr=subprocess.PIPE
34
- )
35
-
36
- # Send initialize request
37
- self._send_request("initialize", {
38
- "processId": os.getpid(),
39
- "rootUri": f"file://{workspace_path}",
40
- "capabilities": {
41
- "textDocument": {
42
- "semanticTokens": {"full": True},
43
- "hover": {"contentFormat": ["markdown"]},
44
- "inlayHint": {"resolveSupport": {"properties": ["label.tooltip", "label.location", "label.command"]}},
45
- "completion": {"completionItem": {"snippetSupport": True}}
46
- }
47
- },
48
- "workspaceFolders": [{"uri": f"file://{workspace_path}", "name": "workspace"}]
49
- })
50
-
51
- return True
52
- except Exception as e:
53
- PrettyOutput.print(f"Rust LSP 初始化失败: {str(e)}", OutputType.ERROR)
54
- return False
55
-
56
- def _send_request(self, method: str, params: Dict) -> Optional[Dict]:
57
- """Send JSON-RPC request to rust-analyzer."""
58
- if not self.analyzer_process:
59
- return None
60
-
61
- try:
62
- self.request_id += 1
63
- request = {
64
- "jsonrpc": "2.0",
65
- "id": self.request_id,
66
- "method": method,
67
- "params": params
68
- }
69
-
70
- self.analyzer_process.stdin.write(json.dumps(request).encode() + b"\n") # type: ignore
71
- self.analyzer_process.stdin.flush() # type: ignore
72
-
73
- response = json.loads(self.analyzer_process.stdout.readline().decode()) # type: ignore
74
- return response.get("result")
75
- except Exception:
76
- return None
77
-
78
-
79
- def get_diagnostics(self, file_path: str) -> List[Dict[str, Any]]:
80
- # Send didOpen notification to trigger diagnostics
81
- self._send_request("textDocument/didOpen", {
82
- "textDocument": {
83
- "uri": f"file://{file_path}",
84
- "languageId": "rust",
85
- "version": 1,
86
- "text": open(file_path).read()
87
- }
88
- })
89
-
90
- # Wait for diagnostic notification
91
- try:
92
- response = json.loads(self.analyzer_process.stdout.readline().decode()) # type: ignore
93
- if response.get("method") == "textDocument/publishDiagnostics":
94
- return response.get("params", {}).get("diagnostics", [])
95
- except Exception:
96
- pass
97
- return []
98
-
99
-
100
- def shutdown(self):
101
- if self.analyzer_process:
102
- try:
103
- self._send_request("shutdown", {})
104
- self.analyzer_process.terminate()
105
- self.analyzer_process = None
106
- except Exception:
107
- pass
@@ -1,147 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- import os
3
- from typing import Dict, Any
4
- from jarvis.jarvis_lsp.registry import LSPRegistry
5
- class LSPGetDiagnosticsTool:
6
- """Tool for getting diagnostics (errors, warnings) from code using LSP."""
7
-
8
- # 工具名称
9
- name = "lsp_get_diagnostics"
10
- # 工具描述
11
- description = "Get diagnostic information (errors, warnings) from code files"
12
- # 工具标签
13
- # 工具参数定义
14
- parameters = {
15
- "file_path": "Path to the file to analyze",
16
- "language": f"Programming language of the file ({', '.join(LSPRegistry.get_global_lsp_registry().get_supported_languages())})",
17
- "root_dir": {
18
- "type": "string",
19
- "description": "Root directory for LSP operations (optional)",
20
- "default": "."
21
- }
22
- }
23
-
24
- @staticmethod
25
- def check() -> bool:
26
- """检查是否有可用的LSP服务器"""
27
- registry = LSPRegistry.get_global_lsp_registry()
28
- return len(registry.get_supported_languages()) > 0
29
-
30
- def execute(self, args: Dict[str, Any]) -> Dict[str, Any]:
31
- """执行工具的主要逻辑"""
32
- file_path = args.get("file_path", "")
33
- language = args.get("language", "")
34
- root_dir = args.get("root_dir", ".")
35
-
36
- # 验证输入参数
37
- if not all([file_path, language]):
38
- return {
39
- "success": False,
40
- "stderr": "Both file_path and language must be provided",
41
- "stdout": ""
42
- }
43
-
44
- # 检查文件是否存在
45
- if not os.path.exists(file_path):
46
- return {
47
- "success": False,
48
- "stderr": f"File not found: {file_path}",
49
- "stdout": ""
50
- }
51
-
52
- # 存储当前目录
53
- original_dir = os.getcwd()
54
-
55
- try:
56
- # 切换到root_dir
57
- os.chdir(root_dir)
58
-
59
- # 获取LSP实例
60
- registry = LSPRegistry.get_global_lsp_registry()
61
- lsp = registry.create_lsp(language)
62
-
63
- # 检查语言是否支持
64
- if not lsp:
65
- return {
66
- "success": False,
67
- "stderr": f"No LSP support for language: {language}",
68
- "stdout": ""
69
- }
70
-
71
- try:
72
- # 初始化LSP
73
- if not lsp.initialize(os.path.abspath(os.getcwd())):
74
- return {
75
- "success": False,
76
- "stderr": "LSP initialization failed",
77
- "stdout": ""
78
- }
79
-
80
- # 获取诊断信息
81
- diagnostics = lsp.get_diagnostics(file_path)
82
-
83
- # 如果没有诊断信息
84
- if not diagnostics:
85
- return {
86
- "success": True,
87
- "stdout": "No issues found in the file",
88
- "stderr": ""
89
- }
90
-
91
- # 格式化输出
92
- output = ["Diagnostics:"]
93
- # 严重程度映射
94
- severity_map = {1: "Error", 2: "Warning", 3: "Info", 4: "Hint"}
95
-
96
- # 按严重程度和行号排序诊断信息
97
- sorted_diagnostics = sorted(
98
- diagnostics,
99
- key=lambda x: (x["severity"], x["range"]["start"]["line"])
100
- )
101
-
102
- # 处理每个诊断信息
103
- for diag in sorted_diagnostics:
104
- severity = severity_map.get(diag["severity"], "Unknown")
105
- start = diag["range"]["start"]
106
- line = LSPRegistry.get_line_at_position(file_path, start["line"]).strip()
107
-
108
- output.extend([
109
- f"\n{severity} at line {start['line'] + 1}, column {start['character'] + 1}:",
110
- f"Message: {diag['message']}",
111
- f"Code: {line}",
112
- "-" * 60
113
- ])
114
-
115
- # 处理相关附加信息
116
- if diag.get("relatedInformation"):
117
- output.append("Related information:")
118
- for info in diag["relatedInformation"]:
119
- info_line = LSPRegistry.get_line_at_position(
120
- info["location"]["uri"],
121
- info["location"]["range"]["start"]["line"]
122
- ).strip()
123
- output.extend([
124
- f" - {info['message']}",
125
- f" at {info['location']['uri']}:{info['location']['range']['start']['line'] + 1}",
126
- f" {info_line}"
127
- ])
128
-
129
- return {
130
- "success": True,
131
- "stdout": "\n".join(output),
132
- "stderr": ""
133
- }
134
-
135
- except Exception as e:
136
- return {
137
- "success": False,
138
- "stderr": f"Error getting diagnostics: {str(e)}",
139
- "stdout": ""
140
- }
141
- finally:
142
- # 确保关闭LSP连接
143
- if lsp:
144
- lsp.shutdown()
145
- finally:
146
- # 恢复原始目录
147
- os.chdir(original_dir)
@@ -1,102 +0,0 @@
1
- jarvis/__init__.py,sha256=0MngHgwvNC88-Zyu-Vgu75cfUiHVHhf7dT3ntn_mOvQ,74
2
- jarvis/jarvis_agent/__init__.py,sha256=sDUOtM7Y-BQt2WBavx2bV5OkHD_iMGV32FfSu4IEa3s,29175
3
- jarvis/jarvis_agent/builtin_input_handler.py,sha256=KhvlV_QdB3P-M0TCkWvdxidNie1jU7KoMOqTIXCpwwA,1529
4
- jarvis/jarvis_agent/jarvis.py,sha256=h3-FsL9Y4GtbNPk6qWYs2t6VB8CKabY7_UNe58tzucE,6142
5
- jarvis/jarvis_agent/main.py,sha256=jvxnBmm4BM13quaCip2PC1-DkAX0MAU25b8nhHIQ5xM,2667
6
- jarvis/jarvis_agent/output_handler.py,sha256=7qori-RGrQmdiFepoEe3oPPKJIvRt90l_JDmvCoa4zA,1219
7
- jarvis/jarvis_agent/shell_input_handler.py,sha256=pi3AtPKrkKc6K9e99S1djKXQ_XrxtP6FrSWebQmRT6E,1261
8
- jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- jarvis/jarvis_code_agent/code_agent.py,sha256=9SBMlLWNGR6lqVD7xZaLjokka-yoNGb-OxpHtJjCf_k,17166
10
- jarvis/jarvis_code_analysis/code_review.py,sha256=9zfVY_u_WSRIKQ69lXeW-pOunh5lYYyQe9i_zEO3m2k,30212
11
- jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=cKQ_FOGy5TQgM-YkRCqORo-mUOZaPAJ9VDmZoFX58us,78
12
- jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=SXPpYCNeCtU1PpKdKPiYDuOybfY9vaL0ejDn4imxDwA,1317
13
- jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=vS-cu6RCGg5SyK9MJ3RE381gt3xYl-yea3Bj2UQEcwQ,2420
14
- jarvis/jarvis_code_analysis/checklists/data_format.py,sha256=0ljCQPNrhFq3Qzl7WQZy-5jRE5OQG-6fjK-ZMQhP7AE,3005
15
- jarvis/jarvis_code_analysis/checklists/devops.py,sha256=caupq-mZyXOfK5cSkpgcxdivqK89_2lWuDbXDuVndI8,3542
16
- jarvis/jarvis_code_analysis/checklists/docs.py,sha256=lOr69-3-wobyfx82NLYZmZKHfoAov_rF4D6YMjsmOkY,3341
17
- jarvis/jarvis_code_analysis/checklists/go.py,sha256=8Q16X08aj9pyLyi5c85xB2CcZI-eLlxw7TJDTij5BBY,1388
18
- jarvis/jarvis_code_analysis/checklists/infrastructure.py,sha256=KgyuZHJfKCbon1qxqoTDBnUbDrY7dfFnfPkTlH4BrlI,3765
19
- jarvis/jarvis_code_analysis/checklists/java.py,sha256=RReiw64i-o5yLIhZdFkkWzMl9yE4_SnQr7CwWz5dTas,2085
20
- jarvis/jarvis_code_analysis/checklists/javascript.py,sha256=i1srwYq0H-d9Ql98UpJSvceHe5jTJX3CFO_sgmw7_AU,2340
21
- jarvis/jarvis_code_analysis/checklists/kotlin.py,sha256=AgVEDHdDC4kD-XYjT5V3LNjRpcWeVCoPThVg1juD1Ns,4436
22
- jarvis/jarvis_code_analysis/checklists/loader.py,sha256=_jK2H21P5AWDDPrSqnWveE3pOygaqgfaP3Gw7xhSKfQ,1919
23
- jarvis/jarvis_code_analysis/checklists/php.py,sha256=_EvpnWwHOGM3wAc9aXJrtwy3LQvYNR-oxPhtv71qZj4,2481
24
- jarvis/jarvis_code_analysis/checklists/python.py,sha256=rQ2jpDG0CPzeWiBc2Q6kJA0IBpyheL4-gtMwe6whgOM,1452
25
- jarvis/jarvis_code_analysis/checklists/ruby.py,sha256=JbU1eHafIhlV0qWtYxEltz6AaFzUSU_F3KuqylnMcgc,4274
26
- jarvis/jarvis_code_analysis/checklists/rust.py,sha256=oe_1wPaBgMScQTn-697aghWVsIvNO2v8E6m_lcP8_iU,1646
27
- jarvis/jarvis_code_analysis/checklists/shell.py,sha256=IXQkWHwA-4GUQz3WUs7l6hEy7Vrjd92egUYXGfu2FKQ,2619
28
- jarvis/jarvis_code_analysis/checklists/sql.py,sha256=ecKKT6wJAibn8R0NxGZDNlm4teYXvF3CAJvVk8mmX7w,2355
29
- jarvis/jarvis_code_analysis/checklists/swift.py,sha256=YcsYFxAitHqOtBZjG-RV9-KNM7X5lIcl6zlEI9XfmfM,2566
30
- jarvis/jarvis_code_analysis/checklists/web.py,sha256=-Pnj1FQTsGVZUQK7-4ptDsGd7a22Cs0585jRAPT2SdQ,3943
31
- jarvis/jarvis_data/huggingface.tar.gz,sha256=dWKnc_tvyx-I_ZkXo91O0b38KxDmLW1ZbmJ3E6fCl_k,1120205
32
- jarvis/jarvis_dev/main.py,sha256=kyCLm2Ta-iMK20m62O7_rB-Biy_bGxpqrLrLtMOkT5c,43022
33
- jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- jarvis/jarvis_git_details/main.py,sha256=lYx2tSaV1cKCvs3iRf-gHwotg-sljvxC4iPeODpBnbA,9007
35
- jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- jarvis/jarvis_git_squash/main.py,sha256=nGygczZlRbczKAU8LEFLHQVjpgCkbGx7GQQcwo57cSo,2276
37
- jarvis/jarvis_git_utils/git_commiter.py,sha256=58ZhxwDdYzMH9-uvVe2dazQfq8uNcZTJQq7SMJEFsic,13020
38
- jarvis/jarvis_lsp/base.py,sha256=ZngrQ4NUy9iPrXORcw4QR-tWZi2G79nsfqeqqkaxSZ0,2054
39
- jarvis/jarvis_lsp/cpp.py,sha256=WL7rItrwFkYRSZzQHnoOoQ-EDho7Jd6BOaCn1UgsQ3A,3165
40
- jarvis/jarvis_lsp/go.py,sha256=FkBJAeJex8jamn44o_cpYCygSTGMnsykJGrnkVFlTww,3482
41
- jarvis/jarvis_lsp/python.py,sha256=bTvo4i4tzoYFOag9lzDEIBb6-oNHGIrHFz1SQQ2w5qM,1867
42
- jarvis/jarvis_lsp/registry.py,sha256=4qvwpsRhBLfYmsU1N2qn3mF_K-P66J69Oupt0et33xk,6515
43
- jarvis/jarvis_lsp/rust.py,sha256=Z2KmvTsIcn5SLM4iaLG4Mael1h6zlZQIiOopbDpurag,3710
44
- jarvis/jarvis_mcp/__init__.py,sha256=NF_vqRxaNyz8ColcpRh0bOkinV90YLAKHEN--jkP-B8,2114
45
- jarvis/jarvis_mcp/sse_mcp_client.py,sha256=FOVzroTw-pifmnF0qdsoQ6KweDCQ0Gxs6d6jl4VopiQ,23483
46
- jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=KO0ewJuLBZLNqG4EGJcBOtn-8VJIipkq84ENvSwgQAo,11830
47
- jarvis/jarvis_methodology/main.py,sha256=QJUMIb9o8JO-l207X5UIbazZKJYKG3F4iuUKtkm0dmg,11840
48
- jarvis/jarvis_multi_agent/__init__.py,sha256=Xab5sFltJmX_9MoXqanmZs6FqKfUb2v_pG29Vk8ZXaw,4311
49
- jarvis/jarvis_multi_agent/main.py,sha256=Ax3Oe0mjcW567VhFYPt3H5MwqLS1VdxKCeiNgXltmXk,1644
50
- jarvis/jarvis_platform/__init__.py,sha256=0YnsUoM4JkIBOtImFdjfuDbrqQZT3dEaAwSJ62DrpCc,104
51
- jarvis/jarvis_platform/base.py,sha256=ioIEtuEVuXCdLpPofR9c-lqvADM-pCz5XOMQVKq8xeI,6740
52
- jarvis/jarvis_platform/human.py,sha256=1Jh9xigQaU78WVvsIMaVH0i6QRhaSA1oaErv9BdntF8,2565
53
- jarvis/jarvis_platform/kimi.py,sha256=p18Ydb_0rgnK3-WZXKUtTBQTh7Da33O277PKWOMqBhA,13106
54
- jarvis/jarvis_platform/openai.py,sha256=ln-OYxZkWaSY9oDoBPMmMh2TDGN40iTtUURLk8batvQ,4159
55
- jarvis/jarvis_platform/registry.py,sha256=UjCdPT9WIRxU-F0uuPpKmKRRCcNNxjr-bRTEPgRSNx4,7740
56
- jarvis/jarvis_platform/yuanbao.py,sha256=Vi8D3lhTOwg2-PmMj7HHRXKg-dViI2ghtJcxm3tf8nc,21669
57
- jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- jarvis/jarvis_platform_manager/main.py,sha256=cpnqYWjb2fU2uhrTtYyyrKpe6rta2NniYjZE6BjLG8k,25675
59
- jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- jarvis/jarvis_smart_shell/main.py,sha256=v3DXutU-lBYABxB1tURHPcdTJuoT3gthdXl8O5tOGJw,5208
61
- jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- jarvis/jarvis_tools/ask_codebase.py,sha256=bdYZlEdKGFQjYL90Qo3ybgxicFPU8g3mQtLH8exmliU,10063
63
- jarvis/jarvis_tools/ask_user.py,sha256=cWSLG33b79IbIZEWsSNV5RHvGX6eo3nTM8TUhOMnGh8,2167
64
- jarvis/jarvis_tools/base.py,sha256=SR4dmrgYj3lNmtVDhHtItPvptTqCfw5SGRhgPT3I6ss,1189
65
- jarvis/jarvis_tools/chdir.py,sha256=wYVBqWF5kaUkKqH3cUAOKUsACzYsFtCCJJyd8UJsp4o,2706
66
- jarvis/jarvis_tools/code_plan.py,sha256=EzLdbJnVCkJ7lL8XIQyuDJdxU1i3CFiBpqyNG-GdJw8,7753
67
- jarvis/jarvis_tools/create_code_agent.py,sha256=cxYkjr4rhI2EWpK78psZSRB9mxiP1IUT0SEfFIqCJzY,3411
68
- jarvis/jarvis_tools/create_sub_agent.py,sha256=ppTOFRd0ygSJUFr3oQ8IrCLOqbZ7vwnbdadfTDjpDgs,3025
69
- jarvis/jarvis_tools/edit_file.py,sha256=EqyLcnLNqFAhIn3g_wZs78qeGFPJh4Rieldbt5l4FHY,16226
70
- jarvis/jarvis_tools/execute_script.py,sha256=cc0NlPwhkZinEexqT63d1ofEkzQddVWGsZOCVL1v_60,5739
71
- jarvis/jarvis_tools/file_analyzer.py,sha256=tzU1cPKyDa54hVZewP0bDzdsjvdjGQ1BRt5k8N4li3s,4868
72
- jarvis/jarvis_tools/file_operation.py,sha256=lP8EpsnSdA3FW8ofSAdoA8qPGMAG3UhYd6LFEzOFUVY,9044
73
- jarvis/jarvis_tools/find_methodology.py,sha256=FwGKSV4fHNkiAnaVUwP8GkqXl8PEqMPZBxAyvTSPFGA,2438
74
- jarvis/jarvis_tools/generate_new_tool.py,sha256=ctpkHBihsHhO6sLpF5lJue244EFJtdEQMuxR-_oV9r4,10282
75
- jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=paz1CVZ2Y8nk0U74n1QiG01oDINiZqpVlPc2f4_B150,5346
76
- jarvis/jarvis_tools/methodology.py,sha256=Md8W2et0xUiuTjUSRCdnlwEPYqah2dCAAkxW_95BXBY,5238
77
- jarvis/jarvis_tools/read_code.py,sha256=dOG7bafutOhjLiU7NH-o7E_o6pJrXH98SAGRJ36Yj9Q,5897
78
- jarvis/jarvis_tools/read_webpage.py,sha256=LLvAOvaQJodaeNJKQ6dU9MYEE227NMdHyLs7esluUQ4,2217
79
- jarvis/jarvis_tools/registry.py,sha256=ISgelm0E1mNj0bikJxN9fA1VGzm23pVkWv-j7E3gWHY,23792
80
- jarvis/jarvis_tools/rewrite_file.py,sha256=rEPPSNU7uF1iKfEW9npEpZJ2LSoQXjt2OC-_troBToE,7003
81
- jarvis/jarvis_tools/search_web.py,sha256=-h1WYOqTcYC_8fdkm-4RfwKpbtLTVxOfRROul51NgO0,951
82
- jarvis/jarvis_tools/virtual_tty.py,sha256=AKAaKY5KcPxifNQoXjzHaL4U6EUVA7irHLwVvz2wLVs,16396
83
- jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- jarvis/jarvis_tools/cli/main.py,sha256=FkBUh7TgvZu6CZfQAKdu0zYm27fSfA6OK4H_m8h_4Mw,6354
85
- jarvis/jarvis_utils/__init__.py,sha256=l-fsyQ-KzyqAhrJYur8eZAqsgaifGzSm24R2qtRGJ0g,849
86
- jarvis/jarvis_utils/builtin_replace_map.py,sha256=A-cJ8deht2vDl2iKRhoZ7qECyJ6sboVH5Zx-L9vIBUs,4314
87
- jarvis/jarvis_utils/config.py,sha256=CuumaSrwSaSdt_bJVqjuH3u45ZKafm7MQANqO5NZDXk,4756
88
- jarvis/jarvis_utils/embedding.py,sha256=s7ze8-talEED9VXZm1QK5tPdfyj6sXJLP031tDkXeI4,3831
89
- jarvis/jarvis_utils/file_processors.py,sha256=tSZSMJ4qCJ_lXI0dyLgJ0j5qEh6CDXDSVI7vQiFmcuQ,2976
90
- jarvis/jarvis_utils/git_utils.py,sha256=MxhUcQ_gFUFyBxBiorEJ1wUk9a2TerFdq3-Z11FB-AE,11324
91
- jarvis/jarvis_utils/globals.py,sha256=Zs0chxA_giYiolYvawFFpcnTWgCUnn6GEusAh42jbz8,2275
92
- jarvis/jarvis_utils/input.py,sha256=qGf2q-yWhgT-OX-j_WYi7aZ11jYmuFNiMz2_W1nUOiM,7432
93
- jarvis/jarvis_utils/methodology.py,sha256=9dmtj6Ei2CRUdQP9TA_xToqZPYcm5_DQovwnRkEShsA,8626
94
- jarvis/jarvis_utils/output.py,sha256=jrZMPl4RGaw8i-IFN4JwkH3wB9QDl002Car5eENDE9c,9657
95
- jarvis/jarvis_utils/tag.py,sha256=YJHmuedLb7_AiqvKQetHr4R1FxyzIh7HN0RRkWMmYbU,429
96
- jarvis/jarvis_utils/utils.py,sha256=yXSSQwgwho3MpQWvJN1uRvRPsFvkKqhvQrbDz3ZyyxU,5390
97
- jarvis_ai_assistant-0.1.177.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
98
- jarvis_ai_assistant-0.1.177.dist-info/METADATA,sha256=Yt6Tjk7wG7gh0nyyRhYtMPu0-_pg0mTvcIlDrqOuT2g,14629
99
- jarvis_ai_assistant-0.1.177.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
100
- jarvis_ai_assistant-0.1.177.dist-info/entry_points.txt,sha256=rjj61tZ7ahLi1R-JkJmX-IzIPPHD8mnwDZap1CnMe2s,973
101
- jarvis_ai_assistant-0.1.177.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
102
- jarvis_ai_assistant-0.1.177.dist-info/RECORD,,