jarvis-ai-assistant 0.3.30__py3-none-any.whl → 0.7.0__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 +1 -1
- jarvis/jarvis_agent/__init__.py +289 -87
- jarvis/jarvis_agent/agent_manager.py +17 -8
- jarvis/jarvis_agent/edit_file_handler.py +374 -86
- jarvis/jarvis_agent/event_bus.py +1 -1
- jarvis/jarvis_agent/file_context_handler.py +79 -0
- jarvis/jarvis_agent/jarvis.py +601 -43
- jarvis/jarvis_agent/main.py +32 -2
- jarvis/jarvis_agent/rewrite_file_handler.py +141 -0
- jarvis/jarvis_agent/run_loop.py +38 -5
- jarvis/jarvis_agent/share_manager.py +8 -1
- jarvis/jarvis_agent/stdio_redirect.py +295 -0
- jarvis/jarvis_agent/task_analyzer.py +5 -2
- jarvis/jarvis_agent/task_planner.py +496 -0
- jarvis/jarvis_agent/utils.py +5 -1
- jarvis/jarvis_agent/web_bridge.py +189 -0
- jarvis/jarvis_agent/web_output_sink.py +53 -0
- jarvis/jarvis_agent/web_server.py +751 -0
- jarvis/jarvis_c2rust/__init__.py +26 -0
- jarvis/jarvis_c2rust/cli.py +613 -0
- jarvis/jarvis_c2rust/collector.py +258 -0
- jarvis/jarvis_c2rust/library_replacer.py +1122 -0
- jarvis/jarvis_c2rust/llm_module_agent.py +1300 -0
- jarvis/jarvis_c2rust/optimizer.py +960 -0
- jarvis/jarvis_c2rust/scanner.py +1681 -0
- jarvis/jarvis_c2rust/transpiler.py +2325 -0
- jarvis/jarvis_code_agent/build_validation_config.py +133 -0
- jarvis/jarvis_code_agent/code_agent.py +1171 -94
- jarvis/jarvis_code_agent/code_analyzer/__init__.py +62 -0
- jarvis/jarvis_code_agent/code_analyzer/base_language.py +74 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/__init__.py +44 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/base.py +102 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/cmake.py +59 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/detector.py +125 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/fallback.py +69 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/go.py +38 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/java_gradle.py +44 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/java_maven.py +38 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/makefile.py +50 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/nodejs.py +93 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/python.py +129 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/rust.py +54 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator/validator.py +154 -0
- jarvis/jarvis_code_agent/code_analyzer/build_validator.py +43 -0
- jarvis/jarvis_code_agent/code_analyzer/context_manager.py +363 -0
- jarvis/jarvis_code_agent/code_analyzer/context_recommender.py +18 -0
- jarvis/jarvis_code_agent/code_analyzer/dependency_analyzer.py +132 -0
- jarvis/jarvis_code_agent/code_analyzer/file_ignore.py +330 -0
- jarvis/jarvis_code_agent/code_analyzer/impact_analyzer.py +781 -0
- jarvis/jarvis_code_agent/code_analyzer/language_registry.py +185 -0
- jarvis/jarvis_code_agent/code_analyzer/language_support.py +89 -0
- jarvis/jarvis_code_agent/code_analyzer/languages/__init__.py +31 -0
- jarvis/jarvis_code_agent/code_analyzer/languages/c_cpp_language.py +231 -0
- jarvis/jarvis_code_agent/code_analyzer/languages/go_language.py +183 -0
- jarvis/jarvis_code_agent/code_analyzer/languages/python_language.py +219 -0
- jarvis/jarvis_code_agent/code_analyzer/languages/rust_language.py +209 -0
- jarvis/jarvis_code_agent/code_analyzer/llm_context_recommender.py +451 -0
- jarvis/jarvis_code_agent/code_analyzer/symbol_extractor.py +77 -0
- jarvis/jarvis_code_agent/code_analyzer/tree_sitter_extractor.py +48 -0
- jarvis/jarvis_code_agent/lint.py +270 -8
- jarvis/jarvis_code_agent/utils.py +142 -0
- jarvis/jarvis_code_analysis/code_review.py +483 -569
- jarvis/jarvis_data/config_schema.json +97 -8
- jarvis/jarvis_git_utils/git_commiter.py +38 -26
- jarvis/jarvis_mcp/sse_mcp_client.py +2 -2
- jarvis/jarvis_mcp/stdio_mcp_client.py +1 -1
- jarvis/jarvis_memory_organizer/memory_organizer.py +1 -1
- jarvis/jarvis_multi_agent/__init__.py +239 -25
- jarvis/jarvis_multi_agent/main.py +37 -1
- jarvis/jarvis_platform/base.py +103 -51
- jarvis/jarvis_platform/openai.py +26 -1
- jarvis/jarvis_platform/yuanbao.py +1 -1
- jarvis/jarvis_platform_manager/service.py +2 -2
- jarvis/jarvis_rag/cli.py +4 -4
- jarvis/jarvis_sec/__init__.py +3605 -0
- jarvis/jarvis_sec/checkers/__init__.py +32 -0
- jarvis/jarvis_sec/checkers/c_checker.py +2680 -0
- jarvis/jarvis_sec/checkers/rust_checker.py +1108 -0
- jarvis/jarvis_sec/cli.py +116 -0
- jarvis/jarvis_sec/report.py +257 -0
- jarvis/jarvis_sec/status.py +264 -0
- jarvis/jarvis_sec/types.py +20 -0
- jarvis/jarvis_sec/workflow.py +219 -0
- jarvis/jarvis_stats/cli.py +1 -1
- jarvis/jarvis_stats/stats.py +1 -1
- jarvis/jarvis_stats/visualizer.py +1 -1
- jarvis/jarvis_tools/cli/main.py +1 -0
- jarvis/jarvis_tools/execute_script.py +46 -9
- jarvis/jarvis_tools/generate_new_tool.py +3 -1
- jarvis/jarvis_tools/read_code.py +275 -12
- jarvis/jarvis_tools/read_symbols.py +141 -0
- jarvis/jarvis_tools/read_webpage.py +5 -3
- jarvis/jarvis_tools/registry.py +73 -35
- jarvis/jarvis_tools/search_web.py +15 -11
- jarvis/jarvis_tools/sub_agent.py +24 -42
- jarvis/jarvis_tools/sub_code_agent.py +14 -13
- jarvis/jarvis_tools/virtual_tty.py +1 -1
- jarvis/jarvis_utils/config.py +187 -35
- jarvis/jarvis_utils/embedding.py +3 -0
- jarvis/jarvis_utils/git_utils.py +181 -6
- jarvis/jarvis_utils/globals.py +3 -3
- jarvis/jarvis_utils/http.py +1 -1
- jarvis/jarvis_utils/input.py +78 -2
- jarvis/jarvis_utils/methodology.py +25 -19
- jarvis/jarvis_utils/utils.py +644 -359
- {jarvis_ai_assistant-0.3.30.dist-info → jarvis_ai_assistant-0.7.0.dist-info}/METADATA +85 -1
- jarvis_ai_assistant-0.7.0.dist-info/RECORD +192 -0
- {jarvis_ai_assistant-0.3.30.dist-info → jarvis_ai_assistant-0.7.0.dist-info}/entry_points.txt +4 -0
- jarvis/jarvis_agent/config.py +0 -92
- jarvis/jarvis_tools/edit_file.py +0 -179
- jarvis/jarvis_tools/rewrite_file.py +0 -191
- jarvis_ai_assistant-0.3.30.dist-info/RECORD +0 -137
- {jarvis_ai_assistant-0.3.30.dist-info → jarvis_ai_assistant-0.7.0.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.3.30.dist-info → jarvis_ai_assistant-0.7.0.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.3.30.dist-info → jarvis_ai_assistant-0.7.0.dist-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.
|
|
3
|
+
Version: 0.7.0
|
|
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
|
|
@@ -78,6 +78,88 @@ Requires-Dist: sentence-transformers==2.7.0; extra == "rag"
|
|
|
78
78
|
Requires-Dist: torch>=2.6; extra == "rag"
|
|
79
79
|
Requires-Dist: unstructured[md]; extra == "rag"
|
|
80
80
|
Requires-Dist: rank-bm25; extra == "rag"
|
|
81
|
+
Provides-Extra: clang16
|
|
82
|
+
Requires-Dist: clang==16.*; extra == "clang16"
|
|
83
|
+
Provides-Extra: clang17
|
|
84
|
+
Requires-Dist: clang==17.*; extra == "clang17"
|
|
85
|
+
Provides-Extra: clang18
|
|
86
|
+
Requires-Dist: clang==18.*; extra == "clang18"
|
|
87
|
+
Provides-Extra: clang19
|
|
88
|
+
Requires-Dist: clang==19.*; extra == "clang19"
|
|
89
|
+
Provides-Extra: clang20
|
|
90
|
+
Requires-Dist: clang==20.*; extra == "clang20"
|
|
91
|
+
Provides-Extra: clang21
|
|
92
|
+
Requires-Dist: clang==21.*; extra == "clang21"
|
|
93
|
+
Provides-Extra: tree-sitter-python
|
|
94
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-python"
|
|
95
|
+
Requires-Dist: tree-sitter-python; extra == "tree-sitter-python"
|
|
96
|
+
Provides-Extra: tree-sitter-javascript
|
|
97
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-javascript"
|
|
98
|
+
Requires-Dist: tree-sitter-javascript; extra == "tree-sitter-javascript"
|
|
99
|
+
Provides-Extra: tree-sitter-typescript
|
|
100
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-typescript"
|
|
101
|
+
Requires-Dist: tree-sitter-typescript; extra == "tree-sitter-typescript"
|
|
102
|
+
Provides-Extra: tree-sitter-rust
|
|
103
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-rust"
|
|
104
|
+
Requires-Dist: tree-sitter-rust; extra == "tree-sitter-rust"
|
|
105
|
+
Provides-Extra: tree-sitter-go
|
|
106
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-go"
|
|
107
|
+
Requires-Dist: tree-sitter-go; extra == "tree-sitter-go"
|
|
108
|
+
Provides-Extra: tree-sitter-java
|
|
109
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-java"
|
|
110
|
+
Requires-Dist: tree-sitter-java; extra == "tree-sitter-java"
|
|
111
|
+
Provides-Extra: tree-sitter-cpp
|
|
112
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-cpp"
|
|
113
|
+
Requires-Dist: tree-sitter-cpp; extra == "tree-sitter-cpp"
|
|
114
|
+
Provides-Extra: tree-sitter-c
|
|
115
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-c"
|
|
116
|
+
Requires-Dist: tree-sitter-c; extra == "tree-sitter-c"
|
|
117
|
+
Provides-Extra: tree-sitter-json
|
|
118
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-json"
|
|
119
|
+
Requires-Dist: tree-sitter-json; extra == "tree-sitter-json"
|
|
120
|
+
Provides-Extra: tree-sitter-yaml
|
|
121
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-yaml"
|
|
122
|
+
Requires-Dist: tree-sitter-yaml; extra == "tree-sitter-yaml"
|
|
123
|
+
Provides-Extra: tree-sitter-markdown
|
|
124
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-markdown"
|
|
125
|
+
Requires-Dist: tree-sitter-markdown; extra == "tree-sitter-markdown"
|
|
126
|
+
Provides-Extra: tree-sitter-html
|
|
127
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-html"
|
|
128
|
+
Requires-Dist: tree-sitter-html; extra == "tree-sitter-html"
|
|
129
|
+
Provides-Extra: tree-sitter-css
|
|
130
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-css"
|
|
131
|
+
Requires-Dist: tree-sitter-css; extra == "tree-sitter-css"
|
|
132
|
+
Provides-Extra: tree-sitter-bash
|
|
133
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-bash"
|
|
134
|
+
Requires-Dist: tree-sitter-bash; extra == "tree-sitter-bash"
|
|
135
|
+
Provides-Extra: tree-sitter-ruby
|
|
136
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-ruby"
|
|
137
|
+
Requires-Dist: tree-sitter-ruby; extra == "tree-sitter-ruby"
|
|
138
|
+
Provides-Extra: tree-sitter-php
|
|
139
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-php"
|
|
140
|
+
Requires-Dist: tree-sitter-php; extra == "tree-sitter-php"
|
|
141
|
+
Provides-Extra: tree-sitter-sql
|
|
142
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-sql"
|
|
143
|
+
Requires-Dist: tree-sitter-sql; extra == "tree-sitter-sql"
|
|
144
|
+
Provides-Extra: tree-sitter-all
|
|
145
|
+
Requires-Dist: tree-sitter; extra == "tree-sitter-all"
|
|
146
|
+
Requires-Dist: tree-sitter-python; extra == "tree-sitter-all"
|
|
147
|
+
Requires-Dist: tree-sitter-javascript; extra == "tree-sitter-all"
|
|
148
|
+
Requires-Dist: tree-sitter-typescript; extra == "tree-sitter-all"
|
|
149
|
+
Requires-Dist: tree-sitter-rust; extra == "tree-sitter-all"
|
|
150
|
+
Requires-Dist: tree-sitter-go; extra == "tree-sitter-all"
|
|
151
|
+
Requires-Dist: tree-sitter-java; extra == "tree-sitter-all"
|
|
152
|
+
Requires-Dist: tree-sitter-cpp; extra == "tree-sitter-all"
|
|
153
|
+
Requires-Dist: tree-sitter-c; extra == "tree-sitter-all"
|
|
154
|
+
Requires-Dist: tree-sitter-json; extra == "tree-sitter-all"
|
|
155
|
+
Requires-Dist: tree-sitter-yaml; extra == "tree-sitter-all"
|
|
156
|
+
Requires-Dist: tree-sitter-markdown; extra == "tree-sitter-all"
|
|
157
|
+
Requires-Dist: tree-sitter-html; extra == "tree-sitter-all"
|
|
158
|
+
Requires-Dist: tree-sitter-css; extra == "tree-sitter-all"
|
|
159
|
+
Requires-Dist: tree-sitter-bash; extra == "tree-sitter-all"
|
|
160
|
+
Requires-Dist: tree-sitter-ruby; extra == "tree-sitter-all"
|
|
161
|
+
Requires-Dist: tree-sitter-php; extra == "tree-sitter-all"
|
|
162
|
+
Requires-Dist: tree-sitter-sql; extra == "tree-sitter-all"
|
|
81
163
|
Dynamic: author
|
|
82
164
|
Dynamic: home-page
|
|
83
165
|
Dynamic: license-file
|
|
@@ -262,6 +344,8 @@ Jarvis 包含一系列专注于不同任务的工具。以下是主要命令及
|
|
|
262
344
|
| `jarvis-smart-shell` | `jss` | 实验性的智能Shell功能 |
|
|
263
345
|
| `jarvis-stats` | `jst` | 通用统计模块,支持记录和可视化任意指标数据 |
|
|
264
346
|
| `jarvis-memory-organizer` | `jmo` | 记忆管理工具,支持整理、合并、导入导出记忆 |
|
|
347
|
+
| `jarvis-sec` | `jsec` | 安全分析套件,对代码工程进行安全扫描和分析 |
|
|
348
|
+
| `jarvis-c2rust` | `jc2r` | C→Rust 迁移套件,将 C/C++ 代码迁移到 Rust |
|
|
265
349
|
|
|
266
350
|
更多详细用法和参数,请查阅我们的 [**使用指南**](docs/jarvis_book/4.使用指南.md)。
|
|
267
351
|
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
jarvis/__init__.py,sha256=i25VhgQauKHFtFyLmGHzXf9gg5c6vABnwim5a7JBA0I,73
|
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=MBMYL32CqwxLIf0mbp1qNKK_yvocxZ9cCrT8gBBMnNs,58947
|
|
3
|
+
jarvis/jarvis_agent/agent_manager.py,sha256=Tke5eFugTCBCdMSUXMCikiQcGXCl-AjdmYIzap-vSfI,3621
|
|
4
|
+
jarvis/jarvis_agent/builtin_input_handler.py,sha256=wS-FqpT3pIXwHn1dfL3SpXonUKWgVThbQueUIeyRc2U,2917
|
|
5
|
+
jarvis/jarvis_agent/config_editor.py,sha256=hlb9EYxKWcR_qdW2O89CgNDdciR9Isi743JU_1gD8j4,1927
|
|
6
|
+
jarvis/jarvis_agent/edit_file_handler.py,sha256=C-g-BCU3CR5zxv7wpdMDGNPWgVDirWuLgDroACHgHb4,26460
|
|
7
|
+
jarvis/jarvis_agent/event_bus.py,sha256=wNMX8oseyVd2q40-M-VBrQo2Gbfw9yVmqJw8haLSCho,1513
|
|
8
|
+
jarvis/jarvis_agent/events.py,sha256=rmFQ37PasImCh7OCdCzNBvubk-kHwcUiYLgzmL0t0_4,3689
|
|
9
|
+
jarvis/jarvis_agent/file_context_handler.py,sha256=98PmZuHi-EBJx17vjtN8azqsd7WrvCfqlfydXoQAz5I,2599
|
|
10
|
+
jarvis/jarvis_agent/file_methodology_manager.py,sha256=LnhgTx5xQXCBK8esjCkFbgFm9iEyFX7TryUlC40Kzpw,4428
|
|
11
|
+
jarvis/jarvis_agent/jarvis.py,sha256=XUOuXEY2jM5LRAfstO1LiwFtrx0tDC3cEQNroZs6j5M,50179
|
|
12
|
+
jarvis/jarvis_agent/main.py,sha256=IgS7d3rng2vFlu983OUeCkOAosKjFAn1sFCk3gT9J9Q,4563
|
|
13
|
+
jarvis/jarvis_agent/memory_manager.py,sha256=WSyUffx9xTmkcj4QrSLEfsjI3sTMUwZmkkC9_N_gTjo,8042
|
|
14
|
+
jarvis/jarvis_agent/methodology_share_manager.py,sha256=AB_J9BwRgaeENQfL6bH83FOLeLrgHhppMb7psJNevKs,6874
|
|
15
|
+
jarvis/jarvis_agent/output_handler.py,sha256=P7oWpXBGFfOsWq7cIhS_z9crkQ19ES7qU5pM92KKjAs,1172
|
|
16
|
+
jarvis/jarvis_agent/prompt_builder.py,sha256=PH1fPDVa8z_RXkoXHJFNDf8PQjUoLNLYwkh2lC__p40,1705
|
|
17
|
+
jarvis/jarvis_agent/prompt_manager.py,sha256=_1qLBSA3yn4nT_N3X2npTpW40Cp-pMeyvnzu-pnG0iU,2720
|
|
18
|
+
jarvis/jarvis_agent/prompts.py,sha256=CvbPYx_klEz6OQrxVReZAnC2uQNo53rWkkucmh30uKg,9531
|
|
19
|
+
jarvis/jarvis_agent/protocols.py,sha256=YFJaC9MHi7JfLzmvlyotJDjiCO4Z07XJXy1gKhVdUy4,956
|
|
20
|
+
jarvis/jarvis_agent/rewrite_file_handler.py,sha256=z8go1BM40r7gc8DxmbtvEUxvRj_blBFlb-TatzQnsbo,5199
|
|
21
|
+
jarvis/jarvis_agent/run_loop.py,sha256=-GqU2gAS3nbAr6GxJfEbupz-Cv0JsE0bEJdHH1L4EVs,6507
|
|
22
|
+
jarvis/jarvis_agent/session_manager.py,sha256=5wVcaZGwJ9cEKTQglSbqyxUDJ2fI5KxYN8C8L16UWLw,3024
|
|
23
|
+
jarvis/jarvis_agent/share_manager.py,sha256=Nl7zvy5PbcYAPXUgfnvatoUB0V4sIQOt61LyYkp5-2w,9127
|
|
24
|
+
jarvis/jarvis_agent/shell_input_handler.py,sha256=wiAPjB-9uTkcLszbO5dlOUwIfaeR39RgRcZhahIGqoA,2018
|
|
25
|
+
jarvis/jarvis_agent/stdio_redirect.py,sha256=cG3z54rShhE9ATFlcVFgKXNk8ShqwSVfDCtaIVilTes,9923
|
|
26
|
+
jarvis/jarvis_agent/task_analyzer.py,sha256=OZJSdEGaXwheo5bPCYLxMuaV7K92ZrqRFymJvCusDoM,8046
|
|
27
|
+
jarvis/jarvis_agent/task_manager.py,sha256=lme_aN8vaF_a4Tvv2kaSEnWATy8RPSjogTxeLnEYZdg,6504
|
|
28
|
+
jarvis/jarvis_agent/task_planner.py,sha256=zXFTc96cQRiy3EWQb93dO6gONHssvCQLyKh4X_5oF3w,24417
|
|
29
|
+
jarvis/jarvis_agent/tool_executor.py,sha256=k73cKhZEZpljvui4ZxALlFEIE-iLzJ32Softsmiwzqk,1896
|
|
30
|
+
jarvis/jarvis_agent/tool_share_manager.py,sha256=Do08FRxis0ynwR2a6iRoa6Yq0qCP8NkuhMbPrimaxMA,5169
|
|
31
|
+
jarvis/jarvis_agent/user_interaction.py,sha256=tifFN49GkO_Q80sqOTVmhxwbNWTazF3K0cr8AnnvzdU,1453
|
|
32
|
+
jarvis/jarvis_agent/utils.py,sha256=WJmKys_ceDALL73GdMCOgmjGHBzeRSPj7rmc8Pkrvzc,1784
|
|
33
|
+
jarvis/jarvis_agent/web_bridge.py,sha256=h15PXuPWWfZynWt8bPW4BDeCpIVoIOlRXfO0je6HDx4,6673
|
|
34
|
+
jarvis/jarvis_agent/web_output_sink.py,sha256=sZ6WbLZnuCdT5dS9d8msHY_g-pnj-dvML-I6uJ7-sbc,1733
|
|
35
|
+
jarvis/jarvis_agent/web_server.py,sha256=rOMP2ejCYJAqGw9aFYBlMsQmQp5JR-SVyfANKDWyJ0c,28227
|
|
36
|
+
jarvis/jarvis_c2rust/__init__.py,sha256=gtZlPXHo22Kns3InsgXmvQIBLWf2cOTLnbybGrRFjdc,1337
|
|
37
|
+
jarvis/jarvis_c2rust/cli.py,sha256=8V5x3NkZgKDQ5UpEF62_FAMludp9pz2jcRs2gv7khEY,26320
|
|
38
|
+
jarvis/jarvis_c2rust/collector.py,sha256=3W3QJhvcsRuRfsnhjp8n7XEs3tWwKyuE4_Hvv9MWlGM,8416
|
|
39
|
+
jarvis/jarvis_c2rust/library_replacer.py,sha256=COZ9CK42WRZZxv6Po_m7fSWtDgCNI6PMevRJmL0Hk7Y,46261
|
|
40
|
+
jarvis/jarvis_c2rust/llm_module_agent.py,sha256=TCpfhx0CtHOpeUOBf-coyI0DSzjjOYhuIjwr1Pa2Pmg,59386
|
|
41
|
+
jarvis/jarvis_c2rust/optimizer.py,sha256=IpdkE57zczGVaYvzT54MTZb3jQg5uRLQVZoUEi9OL4U,42348
|
|
42
|
+
jarvis/jarvis_c2rust/scanner.py,sha256=4kuRCCZYZXH1WBhS30CzSojFaj5kzX7a1m_C5J05e5U,62871
|
|
43
|
+
jarvis/jarvis_c2rust/transpiler.py,sha256=y50bgJ0zGNeD_OA6BuDnOziY0crqoXiYCrDrNcGCpx8,123633
|
|
44
|
+
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
jarvis/jarvis_code_agent/build_validation_config.py,sha256=LEwCTDZYLo7XkJdmcYdCci__CJaiEm6O2EIDdjkiz04,4488
|
|
46
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=MfJVtzO2XoBsdy2hnjjOm500pF0O98-iuegCPhmx7d0,80609
|
|
47
|
+
jarvis/jarvis_code_agent/lint.py,sha256=1BtXWmpLlFy-yiF9w1ZTM3XAr6nxcGU9u0LU4pLvnb4,13739
|
|
48
|
+
jarvis/jarvis_code_agent/utils.py,sha256=BKL27OVxeYmSmslsxFG2yQ0BKVG8urdjj8Ojcl6mOqk,4828
|
|
49
|
+
jarvis/jarvis_code_agent/code_analyzer/__init__.py,sha256=qm7PxFCN7qZNyxrxb8AYetlYubP9QVl8fV8VkwhQYi0,1625
|
|
50
|
+
jarvis/jarvis_code_agent/code_analyzer/base_language.py,sha256=4TH9Mlgnj4X3n9uOJgJTTWHSMrJYHpojcLGzXlBen_E,2132
|
|
51
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator.py,sha256=XVBwHJgaBnwYaQ-bSXw3mts5aLW2SjgzsXu4s77GV4A,1032
|
|
52
|
+
jarvis/jarvis_code_agent/code_analyzer/context_manager.py,sha256=UjxrVkrhBfZc0k3lXYNrLWcJ6o4CaP0jOKCNSsKgroQ,14350
|
|
53
|
+
jarvis/jarvis_code_agent/code_analyzer/context_recommender.py,sha256=xAYMHI2Gb7uSDaNdBuaJMLPGwwXeW34bByj_JT06wWM,433
|
|
54
|
+
jarvis/jarvis_code_agent/code_analyzer/dependency_analyzer.py,sha256=K_9-govIzeobGeoPvmgW-r4pTJAHxxnonklvl5rSpOg,5078
|
|
55
|
+
jarvis/jarvis_code_agent/code_analyzer/file_ignore.py,sha256=HU5769KTNv-gYoIi2drrMgzn6l8kfgzvs3RwEFHDOp8,9818
|
|
56
|
+
jarvis/jarvis_code_agent/code_analyzer/impact_analyzer.py,sha256=JqfneA1Z0ermmlZfYDQmTfxCbqibWbnMpwHBlHzpLTQ,29643
|
|
57
|
+
jarvis/jarvis_code_agent/code_analyzer/language_registry.py,sha256=k6Tg7l3UMEUIoUONyGQ-vMm62EBl4o200_clsXl6NEA,5597
|
|
58
|
+
jarvis/jarvis_code_agent/code_analyzer/language_support.py,sha256=Ruc_00KH8Akr9U9ho1IXCP7D0QOlaIdXFpD-mFKeo18,2627
|
|
59
|
+
jarvis/jarvis_code_agent/code_analyzer/llm_context_recommender.py,sha256=rpf9hQhkeRMOouXDHcpv98cuchokmvIELY0NFNqzg4g,17357
|
|
60
|
+
jarvis/jarvis_code_agent/code_analyzer/symbol_extractor.py,sha256=--8D7m-5R-k25co0Zg_itq30lLieUOCORT4C4P35Vto,2939
|
|
61
|
+
jarvis/jarvis_code_agent/code_analyzer/tree_sitter_extractor.py,sha256=IUxAVxAYHU4ALeBBBraXBF2WMPFaeThh95XwyImL-Z0,1779
|
|
62
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/__init__.py,sha256=FJda17qW9n4ICGmrhH_CAwN68iZ4kVdo0yF9dj5__oo,1202
|
|
63
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/base.py,sha256=BxuqQ0dIIgaj6ApfJ84CHP2R4VDEVKyatMNOP_idwUM,2766
|
|
64
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/cmake.py,sha256=hF7TzRyQi1dW1_CLVmBe_ATzinIVmdvTX7pgtJvRl_o,1961
|
|
65
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/detector.py,sha256=rLFWUhieg9-RbKTTrlnA-N2Nr2xSOyHoO5yFa-QaJA4,4247
|
|
66
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/fallback.py,sha256=um4UWELR8qogK2we1BxTAZ0Yg7NiJn1B25IBu260Z9c,2386
|
|
67
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/go.py,sha256=njcyyP0MxRQxr2ln_A0PRV8KO0ieRKMsqV4ymNAirjI,961
|
|
68
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/java_gradle.py,sha256=E1fjlcd8JACRR6J7qYgdyIRZDyA60HBpFmIWfPeG5Qw,1263
|
|
69
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/java_maven.py,sha256=AR48BH4j9XDL1KKZpLKncNUvydV0V_TYTD6sWZHE11E,1025
|
|
70
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/makefile.py,sha256=FtJG9PeUi-VCLhKPRrnO1BDykddJMAFBCEeHmw0jDB0,1463
|
|
71
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/nodejs.py,sha256=kKTSTHLaMboH_kl5hv9ysE6ixPIQpkaXUMpjIMMYLuQ,3645
|
|
72
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/python.py,sha256=rpZ-lmMph3za4MQUVEJi69FmDhPzn2xduC_rXiuF0B8,5147
|
|
73
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/rust.py,sha256=an-I-U8hXMe62UkPp9Ztiq-IfHIw1-Lpqr-_g_LgfOg,1621
|
|
74
|
+
jarvis/jarvis_code_agent/code_analyzer/build_validator/validator.py,sha256=Q2Gb6ZCfYOLAzEw4r9AF_eO7ksMBGy-629KZ_7IMLE8,6788
|
|
75
|
+
jarvis/jarvis_code_agent/code_analyzer/languages/__init__.py,sha256=vHEqg2sSG2P2eRttTKo3kiRFR3F7hV0f7wyQamWqgCs,809
|
|
76
|
+
jarvis/jarvis_code_agent/code_analyzer/languages/c_cpp_language.py,sha256=k_f79x6PUYpsiIIz4DjZuB37ZUrYiCD-4eQQCtwLESw,7215
|
|
77
|
+
jarvis/jarvis_code_agent/code_analyzer/languages/go_language.py,sha256=4D-rlqsw2j4xp0NGb-k40BlgHDX4oZq79XU0m7Q6ubg,6160
|
|
78
|
+
jarvis/jarvis_code_agent/code_analyzer/languages/python_language.py,sha256=5JSI-b0-YE7eEf3gJrNBOk5PGjiPdkOOl7olkYDxCtg,8775
|
|
79
|
+
jarvis/jarvis_code_agent/code_analyzer/languages/rust_language.py,sha256=6ZrIjx2e1fazb4trDLUQfM6M6kXWJWg90eC9LttsDws,7113
|
|
80
|
+
jarvis/jarvis_code_analysis/code_review.py,sha256=48r0UE4pmOUaRgBJIJrpPW307sKGo1rnTNkWdsqkOrY,29889
|
|
81
|
+
jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=LIXAYa1sW3l7foP6kohLWnE98I_EQ0T7z5bYKHq6rJA,78
|
|
82
|
+
jarvis/jarvis_code_analysis/checklists/c_cpp.py,sha256=9t62bMqs6qTkFSio4SKkj88qyb5ZubWrw3MxJBQ4X1A,1317
|
|
83
|
+
jarvis/jarvis_code_analysis/checklists/csharp.py,sha256=ShPXrl2_UPAnGaCHAG2wLl90COG3HK2XCSr1UK2dxN4,2420
|
|
84
|
+
jarvis/jarvis_code_analysis/checklists/data_format.py,sha256=urCb9qiJBDGev6C-PXv30NKFoQeGdbtlOl1VSPbjCSA,3005
|
|
85
|
+
jarvis/jarvis_code_analysis/checklists/devops.py,sha256=tlKD75mbFx6HHk8H8eHL_I_WTusHvWA8Zfb5P6c_1w4,3542
|
|
86
|
+
jarvis/jarvis_code_analysis/checklists/docs.py,sha256=gxhxuw-w0puen2Hgwe9MsgO_kijtCJC6THXSoz3YgiA,3341
|
|
87
|
+
jarvis/jarvis_code_analysis/checklists/go.py,sha256=NDBFA0qPrjr1HOZYy5DYU0iIcKWCaevJRLw4fbHZwwQ,1388
|
|
88
|
+
jarvis/jarvis_code_analysis/checklists/infrastructure.py,sha256=7z5MZnOUT3FpMrTQw2QcxkkTHKdMblc_Rf2NjxSI39A,3765
|
|
89
|
+
jarvis/jarvis_code_analysis/checklists/java.py,sha256=gWRVhXfsNhRFdthjIiQTkviqLwisuKCrr6gjxP0S9Z4,2085
|
|
90
|
+
jarvis/jarvis_code_analysis/checklists/javascript.py,sha256=SQkw2I09DaaLxD_WTZjuHn4leUKil68IEPB03BoSYuo,2340
|
|
91
|
+
jarvis/jarvis_code_analysis/checklists/kotlin.py,sha256=dNSHM1u3R7lxe8BU8ADtDyKJxmj3NUh9ZQuC7HHWHGY,4436
|
|
92
|
+
jarvis/jarvis_code_analysis/checklists/loader.py,sha256=bjE4On6WMLt41bfkCZsHnBpfXF61VPthFPsgNcbH90c,1903
|
|
93
|
+
jarvis/jarvis_code_analysis/checklists/php.py,sha256=qW34sF9AqLuSVuOVP5yJUHnB9V3-YRQjNPuB3lFI5UY,2481
|
|
94
|
+
jarvis/jarvis_code_analysis/checklists/python.py,sha256=gjyJ0QPY1CAwqhbDnIyLYruvFduZU5hiKyehAXMHu-I,1452
|
|
95
|
+
jarvis/jarvis_code_analysis/checklists/ruby.py,sha256=kzwd7Wl6gKrkAANq7_MvA5X5du5r1MeE-EY2Xb43n7U,4274
|
|
96
|
+
jarvis/jarvis_code_analysis/checklists/rust.py,sha256=kzt6ARBzUaC2UCviIt5ybfhJjyCkK_V9Kd4e97Dbtd4,1646
|
|
97
|
+
jarvis/jarvis_code_analysis/checklists/shell.py,sha256=aRFYhQQvTgbYd-uY5pc8UHIUAHPtZeciTg4aDcwvRZE,2619
|
|
98
|
+
jarvis/jarvis_code_analysis/checklists/sql.py,sha256=vR0T6qC7b4dURjJVAd7kSVxyvZEQXPG1Jqc2sNTGp5c,2355
|
|
99
|
+
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQpOLEbH2Y7LXg1uBgxc,2566
|
|
100
|
+
jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
|
|
101
|
+
jarvis/jarvis_data/config_schema.json,sha256=EKeHC8sJje-bGyOq4-sHovE0pJlx7js9csdTFmyha64,16786
|
|
102
|
+
jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
|
|
103
|
+
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
|
+
jarvis/jarvis_git_squash/main.py,sha256=BRbsEQVXwseVFKliVqV8_JPh1om6QT6dLTHw0jQ7OE0,2474
|
|
105
|
+
jarvis/jarvis_git_utils/git_commiter.py,sha256=aFVo50MwoBD7i5OtwGfPwrtpnVF2F5OPPslNP4gEg7E,17327
|
|
106
|
+
jarvis/jarvis_mcp/__init__.py,sha256=OPMtjD-uq9xAaKCRIDyKIosaFfBe1GBPu1az-mQ0rVM,2048
|
|
107
|
+
jarvis/jarvis_mcp/sse_mcp_client.py,sha256=rBj1cIH6z6ilISOyD4zvojK6sSZ35A4z3HJlYNeVLaE,22873
|
|
108
|
+
jarvis/jarvis_mcp/stdio_mcp_client.py,sha256=uhduVXAmEGS5reZYirx7IozoF8vuvf_yP1a1pwsa93k,11287
|
|
109
|
+
jarvis/jarvis_mcp/streamable_mcp_client.py,sha256=BenOeZGNHdUOJT5Z3cc5MhS6aOeKQgqXm1ED-BqsLCY,15511
|
|
110
|
+
jarvis/jarvis_memory_organizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
111
|
+
jarvis/jarvis_memory_organizer/memory_organizer.py,sha256=0nJniocg27t257xGXiwo-b1L5Da-ZK1-MAOmYRxAFPE,26327
|
|
112
|
+
jarvis/jarvis_methodology/main.py,sha256=uiNzk5b5O6xdvRhsOuD7ubxdd2tPcDsFFnvmes8uH8I,11370
|
|
113
|
+
jarvis/jarvis_multi_agent/__init__.py,sha256=frH5ufVMasKFz_jbVsBk2wH5nq4D0sfDcmfBWQ-DLoA,16726
|
|
114
|
+
jarvis/jarvis_multi_agent/main.py,sha256=vqLzHesgQkpScVvbgOSyi6X7XoEDQYq3dJ9gZfGiPZw,3351
|
|
115
|
+
jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
|
|
116
|
+
jarvis/jarvis_platform/ai8.py,sha256=g8JkqPGs9SEbqstNMCc5rCHO0QcPHX9LNvb7HMWwB-Q,11471
|
|
117
|
+
jarvis/jarvis_platform/base.py,sha256=bgi95DBbX4vQPaBTws2kTst3jbJM2osIjeIjCjSbdIY,15828
|
|
118
|
+
jarvis/jarvis_platform/human.py,sha256=jWjW8prEag79e6ddqTPV4nz_Gz6zFBfO4a1EbvP8QWA,4908
|
|
119
|
+
jarvis/jarvis_platform/kimi.py,sha256=KLsf9udAsPRMbQ2JkBeiAlXkupCBwdtMaJ-hpH4Jdkc,15711
|
|
120
|
+
jarvis/jarvis_platform/openai.py,sha256=4YapmkmJmPGfrjktORcIejlB98b83Wsi_48zjBymHAc,9500
|
|
121
|
+
jarvis/jarvis_platform/registry.py,sha256=YqaFM2LXcHvqMQrTEQ_cVo8V-wQ8HhOeSdC8DdjvC00,8045
|
|
122
|
+
jarvis/jarvis_platform/tongyi.py,sha256=QQHDn-kNcb_UH-B49lVIQTlHzYd_O8CFWN7SZqy38S4,23456
|
|
123
|
+
jarvis/jarvis_platform/yuanbao.py,sha256=H-mZL1RN0qn3M46qZcV-PsJuXTHm7gTK2U9OvnT2MSE,23926
|
|
124
|
+
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
|
+
jarvis/jarvis_platform_manager/main.py,sha256=yv7m8cNRBe4nk0Kui1w2PKTUr9Sb3wrQirvmyAUbr5U,20400
|
|
126
|
+
jarvis/jarvis_platform_manager/service.py,sha256=TcyTSWdmKRVbKiYupixnC0tOWZgsrkiskDR_CqfZXlY,14882
|
|
127
|
+
jarvis/jarvis_rag/__init__.py,sha256=HRTXgnQxDuaE9x-e3r6SYqhJ5d4DSI_rrIxy2IGY6qk,320
|
|
128
|
+
jarvis/jarvis_rag/cache.py,sha256=Tqx_Oe-AhuWlMXHGHUaIuG6OEHoHBVZq7mL3kldtFFU,2723
|
|
129
|
+
jarvis/jarvis_rag/cli.py,sha256=67T_I2Wzosy5qMRXETVl2DT9zfmYEMO6f03hTlMbU6Y,17573
|
|
130
|
+
jarvis/jarvis_rag/embedding_manager.py,sha256=r-S12eW5nz3GJQgbk-7eQ9JVxxZ57-wLAQx_1zSl0po,10330
|
|
131
|
+
jarvis/jarvis_rag/llm_interface.py,sha256=ntZzJtq-74d8ljqm-_flHaFys_RHjMMZRCKcMdwZt-Y,4505
|
|
132
|
+
jarvis/jarvis_rag/query_rewriter.py,sha256=LGAWZ8kwH_dpquuYqc4QWC7IXmHX3SsnPSYMWOn-nDE,4072
|
|
133
|
+
jarvis/jarvis_rag/rag_pipeline.py,sha256=aaTuxiArtVaPemWeySApw64q204JeLNXpOEtq7Adn1I,13797
|
|
134
|
+
jarvis/jarvis_rag/reranker.py,sha256=7Azc3y5fngwfPKtzZ8tx6iGKNeqC8uDy8yo8VCyLyL4,2670
|
|
135
|
+
jarvis/jarvis_rag/retriever.py,sha256=J4jO0492yHEwxJz_Cp2WP3vGHRHKj56rDyWZQ2W0XdA,18374
|
|
136
|
+
jarvis/jarvis_sec/__init__.py,sha256=ObFm4wr2uKX3DzsiFMd0G9Zw3JxDJk2uCKr8Vp1ZtxA,150324
|
|
137
|
+
jarvis/jarvis_sec/cli.py,sha256=PNvt-Rslfy09YljxFEuM9dcR-6PjT2cABK4SXkKQrxw,3704
|
|
138
|
+
jarvis/jarvis_sec/report.py,sha256=FKVVSUJ-PcTJDBoYNgzxPRj5cHjmRmot3Kqj31M-77E,8109
|
|
139
|
+
jarvis/jarvis_sec/status.py,sha256=BtshMe7fkLMjyMmrG7Saezfd_xX1nmt0AL0axrmW1-k,8534
|
|
140
|
+
jarvis/jarvis_sec/types.py,sha256=_C3IHwnni3kApryP3c_UTYdvFdmlJSVXQLLefX94zl0,365
|
|
141
|
+
jarvis/jarvis_sec/workflow.py,sha256=cul_sh7W6PTWOyg_RiuFHGBBXnGwANooo1_l3j6C9eg,9602
|
|
142
|
+
jarvis/jarvis_sec/checkers/__init__.py,sha256=bkyIFSImBNFsH7RvwXwN6nETefRjtbS62gZRpQFH01I,706
|
|
143
|
+
jarvis/jarvis_sec/checkers/c_checker.py,sha256=-w_ij6BNGl6520mVL6nk9LtsLDQzwXSrskyc-CU_K9c,115465
|
|
144
|
+
jarvis/jarvis_sec/checkers/rust_checker.py,sha256=12sqoI5Phh_KpSjW-OwzRVfPx4MofTGUrmgPkpBdwes,40479
|
|
145
|
+
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
+
jarvis/jarvis_smart_shell/main.py,sha256=lUJPwLR9RlaaVv0lx3ojjjv5dELHOaindlsLDDkpssQ,14960
|
|
147
|
+
jarvis/jarvis_stats/__init__.py,sha256=jJzgP43nxzLbNGs8Do4Jfta1PNCJMf1Oq9YTPd6EnFM,342
|
|
148
|
+
jarvis/jarvis_stats/cli.py,sha256=OZdVqry0_7ZpITGe68TVL4c7KEaJ3Dci6ZXFRRt991Q,11487
|
|
149
|
+
jarvis/jarvis_stats/stats.py,sha256=U2wLXXTWvBYcj5WxmNypOHRHjN7PM3Dkhz7EmrbFBNY,25385
|
|
150
|
+
jarvis/jarvis_stats/storage.py,sha256=ztahlCf5ZaHizcJ3Kijmx6irTbzU_I9UEOgEwHZF84s,22084
|
|
151
|
+
jarvis/jarvis_stats/visualizer.py,sha256=0Gc1O1cANq73GKrVVXr0rgP4tUBLQ9ZT2Q6oiLUJwS0,8539
|
|
152
|
+
jarvis/jarvis_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
|
+
jarvis/jarvis_tools/ask_user.py,sha256=M6DdLNryCE8y1JcdZHEifUgZkPUEPNKc-zDW5p0Mb1k,2029
|
|
154
|
+
jarvis/jarvis_tools/base.py,sha256=tFZkRlbV_a-pbjM-ci9AYmXVJm__FXuzVWKbQEyz4Ao,1639
|
|
155
|
+
jarvis/jarvis_tools/clear_memory.py,sha256=8DOq6dHLemfKTJqu227PWBIp8Iu5K7EXwINzL8DYk8M,8205
|
|
156
|
+
jarvis/jarvis_tools/execute_script.py,sha256=AQ9Krh6GuhzHzLPZ7HFpCe7UMtVtkI-ua3bTiQ2QShQ,8257
|
|
157
|
+
jarvis/jarvis_tools/file_analyzer.py,sha256=jzVb8fAJn3dWwpCiYH-Wuxva4kpHqBB2_V3x3mzY0Gs,4158
|
|
158
|
+
jarvis/jarvis_tools/generate_new_tool.py,sha256=AK21yfefMxN9me0W2y7Y5e7JsVGIud1_8bD3ISjvuLA,8620
|
|
159
|
+
jarvis/jarvis_tools/methodology.py,sha256=_K4GIDUodGEma3SvNRo7Qs5rliijgNespVLyAPN35JU,5233
|
|
160
|
+
jarvis/jarvis_tools/read_code.py,sha256=nhHdWpLgTONFZQwKKOiVgpAUlCs1n0NHi83kmHob-pw,18952
|
|
161
|
+
jarvis/jarvis_tools/read_symbols.py,sha256=bCNe_c442GZaIDogWWFbG90T4qtFno4kXwhCN2oyGJE,5765
|
|
162
|
+
jarvis/jarvis_tools/read_webpage.py,sha256=FAz0oIRYWPWUBUsJ7K-yk4sDliFk0izUGp9sV_SQ6q0,5465
|
|
163
|
+
jarvis/jarvis_tools/registry.py,sha256=FJ211s47Y4GHAPE_8NYZMczTB-W9SCaMjq1NswPQbRU,35644
|
|
164
|
+
jarvis/jarvis_tools/retrieve_memory.py,sha256=hhhGSr7jebPHICY9oEKICyI8mfqsRtKjh58qZNZApKc,8624
|
|
165
|
+
jarvis/jarvis_tools/save_memory.py,sha256=RQtNxcpU53FFv_EBjH0i0oyQ7jWubm-trD1BHuqaGjI,6985
|
|
166
|
+
jarvis/jarvis_tools/search_web.py,sha256=woxMBhkSNi8omJWJiBHQqpiFo7Xk4X5XRx-SrS1gJ-k,6402
|
|
167
|
+
jarvis/jarvis_tools/sub_agent.py,sha256=OqDY32MNPaupKcOb-KcH6uk3anlsP2OSaTT5M-3iCGU,8474
|
|
168
|
+
jarvis/jarvis_tools/sub_code_agent.py,sha256=7n2uEPqJS0D4sNhD6glRDJj8VAiWbWRel0IF1H3zD00,9490
|
|
169
|
+
jarvis/jarvis_tools/virtual_tty.py,sha256=WG3Mu46R3nvBiW-ck_PSppgVIIiy5Ft5_3YTb3AsK3U,25285
|
|
170
|
+
jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
171
|
+
jarvis/jarvis_tools/cli/main.py,sha256=0JTAj2vPc410Noj_bcJBF4AijovYQTIFBp7cO8LlRfA,9324
|
|
172
|
+
jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
|
|
173
|
+
jarvis/jarvis_utils/builtin_replace_map.py,sha256=z8iAqsbZUiGFaozxG1xSu128op8udqHOeEw-GxNt4bU,1708
|
|
174
|
+
jarvis/jarvis_utils/clipboard.py,sha256=D3wzQeqg_yiH7Axs4d6MRxyNa9XxdnenH-ND2uj2WVQ,2967
|
|
175
|
+
jarvis/jarvis_utils/config.py,sha256=oXa-vBW8WRaPNdb2A7EK3CiRGNJXrfgUZHcAx_KGSmo,24915
|
|
176
|
+
jarvis/jarvis_utils/embedding.py,sha256=x6mrkL7Bc3qgfuBDsjc4fg4nKG8ofGxVLVVydbsb8PY,2838
|
|
177
|
+
jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
|
|
178
|
+
jarvis/jarvis_utils/fzf.py,sha256=vCs0Uh5dUqGbWzXn2JCtLLCOYE2B39ZNdNveR9PK4DA,1681
|
|
179
|
+
jarvis/jarvis_utils/git_utils.py,sha256=uRJT-RHij-9HepT4g2jDv94XQyeXS3DxhQZcavl-F1A,30605
|
|
180
|
+
jarvis/jarvis_utils/globals.py,sha256=a7j4X1IBcJ8XJmxVhSOsOfXnniVf4p6JIRzRQvZ8fFk,8907
|
|
181
|
+
jarvis/jarvis_utils/http.py,sha256=KLTBqti8m9B2TPKOLAsNuxSd8mFPN0whQhuXYnRDNW0,4424
|
|
182
|
+
jarvis/jarvis_utils/input.py,sha256=OUu_-Ytbyzk3sl9_7P5039fO3K9tC29tEvHJsdJpaow,39959
|
|
183
|
+
jarvis/jarvis_utils/methodology.py,sha256=YuuKBjr58cu8QWcniU7QVlEM9Cem6wo4IYcq1iwSDMw,13158
|
|
184
|
+
jarvis/jarvis_utils/output.py,sha256=y2fVcao_2ZowFl0IxUrJZCi8T6ZM0z-iPzpk8T8eLxc,13623
|
|
185
|
+
jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
|
|
186
|
+
jarvis/jarvis_utils/utils.py,sha256=ZGnVG2CIMgP4yxY75syEsrTMzG-SAqEG3Gy-wacLDgU,82855
|
|
187
|
+
jarvis_ai_assistant-0.7.0.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
188
|
+
jarvis_ai_assistant-0.7.0.dist-info/METADATA,sha256=EVLNsGrQPooCBb8r-_TMK0Vdo3riwfucT9yK1S2PkNI,23057
|
|
189
|
+
jarvis_ai_assistant-0.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
190
|
+
jarvis_ai_assistant-0.7.0.dist-info/entry_points.txt,sha256=Uxk2_VeucH_m7EwH2mw0SlEYHIUmbzXkjTb15z_lcko,1552
|
|
191
|
+
jarvis_ai_assistant-0.7.0.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
192
|
+
jarvis_ai_assistant-0.7.0.dist-info/RECORD,,
|
{jarvis_ai_assistant-0.3.30.dist-info → jarvis_ai_assistant-0.7.0.dist-info}/entry_points.txt
RENAMED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
ja = jarvis.jarvis_agent.main:main
|
|
3
3
|
jarvis = jarvis.jarvis_agent.jarvis:main
|
|
4
4
|
jarvis-agent = jarvis.jarvis_agent.main:main
|
|
5
|
+
jarvis-c2rust = jarvis.jarvis_c2rust.cli:main
|
|
5
6
|
jarvis-code-agent = jarvis.jarvis_code_agent.code_agent:main
|
|
6
7
|
jarvis-code-review = jarvis.jarvis_code_analysis.code_review:main
|
|
7
8
|
jarvis-git-commit = jarvis.jarvis_git_utils.git_commiter:main
|
|
@@ -11,9 +12,11 @@ jarvis-methodology = jarvis.jarvis_methodology.main:main
|
|
|
11
12
|
jarvis-multi-agent = jarvis.jarvis_multi_agent.main:main
|
|
12
13
|
jarvis-platform-manager = jarvis.jarvis_platform_manager.main:main
|
|
13
14
|
jarvis-rag = jarvis.jarvis_rag.cli:main
|
|
15
|
+
jarvis-sec = jarvis.jarvis_sec.cli:main
|
|
14
16
|
jarvis-smart-shell = jarvis.jarvis_smart_shell.main:main
|
|
15
17
|
jarvis-stats = jarvis.jarvis_stats.cli:main
|
|
16
18
|
jarvis-tool = jarvis.jarvis_tools.cli.main:main
|
|
19
|
+
jc2r = jarvis.jarvis_c2rust.cli:main
|
|
17
20
|
jca = jarvis.jarvis_code_agent.code_agent:main
|
|
18
21
|
jcr = jarvis.jarvis_code_analysis.code_review:main
|
|
19
22
|
jgc = jarvis.jarvis_git_utils.git_commiter:main
|
|
@@ -23,6 +26,7 @@ jma = jarvis.jarvis_multi_agent.main:main
|
|
|
23
26
|
jmo = jarvis.jarvis_memory_organizer.memory_organizer:main
|
|
24
27
|
jpm = jarvis.jarvis_platform_manager.main:main
|
|
25
28
|
jrg = jarvis.jarvis_rag.cli:main
|
|
29
|
+
jsec = jarvis.jarvis_sec.cli:main
|
|
26
30
|
jss = jarvis.jarvis_smart_shell.main:main
|
|
27
31
|
jst = jarvis.jarvis_stats.cli:main
|
|
28
32
|
jt = jarvis.jarvis_tools.cli.main:main
|
jarvis/jarvis_agent/config.py
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
AgentConfig: 聚合 Agent 的初始化配置并提供默认值解析。
|
|
4
|
-
|
|
5
|
-
目标(阶段一,最小变更):
|
|
6
|
-
- 提供独立的配置承载类,封装 __init__ 中的配置项
|
|
7
|
-
- 支持从全局配置与上下文推导默认值
|
|
8
|
-
- 暂不强制替换 Agent 的现有参数与流程,后续逐步接入
|
|
9
|
-
"""
|
|
10
|
-
from dataclasses import dataclass, field
|
|
11
|
-
from typing import List, Optional
|
|
12
|
-
|
|
13
|
-
from jarvis.jarvis_agent.prompts import DEFAULT_SUMMARY_PROMPT
|
|
14
|
-
from jarvis.jarvis_utils.config import (
|
|
15
|
-
get_max_token_count,
|
|
16
|
-
is_execute_tool_confirm,
|
|
17
|
-
is_force_save_memory,
|
|
18
|
-
is_use_analysis,
|
|
19
|
-
is_use_methodology,
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@dataclass
|
|
24
|
-
class AgentConfig:
|
|
25
|
-
# 核心身份与系统参数
|
|
26
|
-
system_prompt: str
|
|
27
|
-
name: str = "Jarvis"
|
|
28
|
-
description: str = ""
|
|
29
|
-
model_group: Optional[str] = None
|
|
30
|
-
|
|
31
|
-
# 运行行为
|
|
32
|
-
auto_complete: bool = False
|
|
33
|
-
need_summary: bool = True
|
|
34
|
-
|
|
35
|
-
# 可选配置(None 表示使用默认策略解析)
|
|
36
|
-
summary_prompt: Optional[str] = None
|
|
37
|
-
execute_tool_confirm: Optional[bool] = None
|
|
38
|
-
use_methodology: Optional[bool] = None
|
|
39
|
-
use_analysis: Optional[bool] = None
|
|
40
|
-
force_save_memory: Optional[bool] = None
|
|
41
|
-
files: Optional[List[str]] = field(default_factory=list)
|
|
42
|
-
max_token_count: Optional[int] = None
|
|
43
|
-
|
|
44
|
-
def resolve_defaults(self) -> "AgentConfig":
|
|
45
|
-
"""
|
|
46
|
-
解析并填充默认值,返回新的 AgentConfig 实例,不修改原对象。
|
|
47
|
-
策略与 Agent._init_config 中的逻辑保持一致,确保兼容。
|
|
48
|
-
"""
|
|
49
|
-
# 复制当前实例的浅拷贝数据
|
|
50
|
-
cfg = AgentConfig(
|
|
51
|
-
system_prompt=self.system_prompt,
|
|
52
|
-
name=self.name,
|
|
53
|
-
description=self.description,
|
|
54
|
-
model_group=self.model_group,
|
|
55
|
-
auto_complete=self.auto_complete,
|
|
56
|
-
need_summary=self.need_summary,
|
|
57
|
-
summary_prompt=self.summary_prompt,
|
|
58
|
-
execute_tool_confirm=self.execute_tool_confirm,
|
|
59
|
-
use_methodology=self.use_methodology,
|
|
60
|
-
use_analysis=self.use_analysis,
|
|
61
|
-
force_save_memory=self.force_save_memory,
|
|
62
|
-
files=list(self.files or []),
|
|
63
|
-
max_token_count=self.max_token_count,
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
# use_methodology: 若存在上传文件则禁用;否则按照外部传入或全局默认
|
|
67
|
-
if cfg.files:
|
|
68
|
-
cfg.use_methodology = False
|
|
69
|
-
elif cfg.use_methodology is None:
|
|
70
|
-
cfg.use_methodology = is_use_methodology()
|
|
71
|
-
|
|
72
|
-
# use_analysis
|
|
73
|
-
if cfg.use_analysis is None:
|
|
74
|
-
cfg.use_analysis = is_use_analysis()
|
|
75
|
-
|
|
76
|
-
# execute_tool_confirm
|
|
77
|
-
if cfg.execute_tool_confirm is None:
|
|
78
|
-
cfg.execute_tool_confirm = is_execute_tool_confirm()
|
|
79
|
-
|
|
80
|
-
# summary_prompt
|
|
81
|
-
if cfg.summary_prompt is None:
|
|
82
|
-
cfg.summary_prompt = DEFAULT_SUMMARY_PROMPT
|
|
83
|
-
|
|
84
|
-
# max_token_count
|
|
85
|
-
if cfg.max_token_count is None:
|
|
86
|
-
cfg.max_token_count = get_max_token_count(cfg.model_group)
|
|
87
|
-
|
|
88
|
-
# force_save_memory
|
|
89
|
-
if cfg.force_save_memory is None:
|
|
90
|
-
cfg.force_save_memory = is_force_save_memory()
|
|
91
|
-
|
|
92
|
-
return cfg
|
jarvis/jarvis_tools/edit_file.py
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
文件编辑工具类
|
|
4
|
-
|
|
5
|
-
功能概述:
|
|
6
|
-
1. 提供精确的文件内容搜索和替换功能,支持多组修改
|
|
7
|
-
2. 支持单个文件的编辑操作,包括创建新文件
|
|
8
|
-
3. 实现原子操作:所有修改要么全部成功,要么全部回滚
|
|
9
|
-
4. 严格匹配控制:每个搜索文本必须且只能匹配一次
|
|
10
|
-
|
|
11
|
-
核心特性:
|
|
12
|
-
- 支持不存在的文件和空文件处理
|
|
13
|
-
- 自动创建所需目录结构
|
|
14
|
-
- 完善的错误处理和回滚机制
|
|
15
|
-
- 严格的格式保持要求
|
|
16
|
-
"""
|
|
17
|
-
from typing import Any, Dict, List
|
|
18
|
-
|
|
19
|
-
from jarvis.jarvis_agent.edit_file_handler import EditFileHandler
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class FileSearchReplaceTool:
|
|
23
|
-
name = "edit_file"
|
|
24
|
-
description = """代码编辑工具,用于精确修改一个或多个文件
|
|
25
|
-
|
|
26
|
-
# 文件编辑工具使用指南
|
|
27
|
-
|
|
28
|
-
## 基本使用
|
|
29
|
-
1. 指定需要修改的文件路径(单个或多个)
|
|
30
|
-
2. 提供一组或多组修改,每个修改包含:
|
|
31
|
-
- reason: 修改原因描述
|
|
32
|
-
- SEARCH: 需要查找的原始代码(必须包含足够上下文)
|
|
33
|
-
- REPLACE: 替换后的新代码
|
|
34
|
-
|
|
35
|
-
## 核心原则
|
|
36
|
-
1. **精准修改**: 只修改必要的代码部分,保持其他部分不变
|
|
37
|
-
2. **最小补丁原则**: 生成最小范围的补丁,包含必要的上下文
|
|
38
|
-
3. **唯一匹配**: 确保搜索文本在文件中唯一匹配
|
|
39
|
-
4. **格式保持**: 严格保持原始代码的格式风格
|
|
40
|
-
5. **部分成功**: 支持多个文件编辑,允许部分文件编辑成功
|
|
41
|
-
|
|
42
|
-
"""
|
|
43
|
-
parameters = {
|
|
44
|
-
"type": "object",
|
|
45
|
-
"properties": {
|
|
46
|
-
"files": {
|
|
47
|
-
"type": "array",
|
|
48
|
-
"description": "需要修改的文件路径列表",
|
|
49
|
-
"items": {
|
|
50
|
-
"type": "object",
|
|
51
|
-
"properties": {
|
|
52
|
-
"path": {"type": "string", "description": "文件路径"},
|
|
53
|
-
"changes": {
|
|
54
|
-
"type": "array",
|
|
55
|
-
"description": "一组或多组修改,每个修改必须包含1-2行上下文用于精确定位",
|
|
56
|
-
"items": {
|
|
57
|
-
"type": "object",
|
|
58
|
-
"properties": {
|
|
59
|
-
"reason": {
|
|
60
|
-
"type": "string",
|
|
61
|
-
"description": "修改的原因",
|
|
62
|
-
},
|
|
63
|
-
"SEARCH": {
|
|
64
|
-
"type": "string",
|
|
65
|
-
"description": "需要查找的原始代码",
|
|
66
|
-
},
|
|
67
|
-
"REPLACE": {
|
|
68
|
-
"type": "string",
|
|
69
|
-
"description": "替换后的新代码",
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
"required": ["path", "changes"],
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
"required": ["files"],
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
def execute(self, args: Dict) -> Dict[str, Any]:
|
|
83
|
-
"""执行文件编辑操作,支持快速编辑和AI辅助编辑两种模式。
|
|
84
|
-
|
|
85
|
-
主要功能:
|
|
86
|
-
1. 处理多个文件的创建或修改,支持不存在的文件
|
|
87
|
-
2. 每个文件独立处理,允许部分文件编辑成功
|
|
88
|
-
3. 自动选择编辑模式(fast_edit或slow_edit)
|
|
89
|
-
4. 保存修改前后的文件状态以便回滚
|
|
90
|
-
5. 提供详细的执行状态输出
|
|
91
|
-
|
|
92
|
-
参数:
|
|
93
|
-
args: 包含以下键的字典:
|
|
94
|
-
- files: 文件列表,每个文件包含(必填):
|
|
95
|
-
- path: 要修改的文件路径
|
|
96
|
-
- changes: 修改列表,每个修改包含:
|
|
97
|
-
- reason: 修改原因描述
|
|
98
|
-
- SEARCH: 需要查找的原始代码(必须包含足够上下文)
|
|
99
|
-
- REPLACE: 替换后的新代码
|
|
100
|
-
|
|
101
|
-
返回:
|
|
102
|
-
Dict[str, Any] 包含:
|
|
103
|
-
- success: 是否至少有一个文件编辑成功(True/False)
|
|
104
|
-
- stdout: 成功时的输出消息
|
|
105
|
-
- stderr: 失败时的错误消息
|
|
106
|
-
- results: 每个文件的处理结果列表
|
|
107
|
-
|
|
108
|
-
异常处理:
|
|
109
|
-
1. 捕获并记录文件操作异常
|
|
110
|
-
2. 失败的修改尝试回滚到原始状态
|
|
111
|
-
3. 新创建的文件在失败时会被删除
|
|
112
|
-
4. 提供3次重试机制确保操作可靠性
|
|
113
|
-
5. 支持大文件处理(自动上传到模型平台)
|
|
114
|
-
|
|
115
|
-
实现细节:
|
|
116
|
-
1. 优先尝试fast_edit模式
|
|
117
|
-
2. 如果fast_edit失败,则尝试slow_edit模式
|
|
118
|
-
3. 严格检查搜索文本的唯一匹配性
|
|
119
|
-
4. 保持原始代码的格式风格
|
|
120
|
-
"""
|
|
121
|
-
import os
|
|
122
|
-
|
|
123
|
-
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
|
124
|
-
|
|
125
|
-
stdout_messages: List[str] = []
|
|
126
|
-
overall_success = False
|
|
127
|
-
file_results = []
|
|
128
|
-
|
|
129
|
-
for file_info in args["files"]:
|
|
130
|
-
file_path = os.path.abspath(file_info["path"])
|
|
131
|
-
changes = file_info["changes"]
|
|
132
|
-
|
|
133
|
-
try:
|
|
134
|
-
success, result = EditFileHandler._fast_edit(file_path, changes)
|
|
135
|
-
if success:
|
|
136
|
-
stdout_message = f"文件 {file_path} 修改完成"
|
|
137
|
-
stdout_messages.append(stdout_message)
|
|
138
|
-
overall_success = True
|
|
139
|
-
file_results.append(
|
|
140
|
-
{
|
|
141
|
-
"file": file_path,
|
|
142
|
-
"success": True,
|
|
143
|
-
"stdout": stdout_message,
|
|
144
|
-
"stderr": "",
|
|
145
|
-
}
|
|
146
|
-
)
|
|
147
|
-
else:
|
|
148
|
-
PrettyOutput.print(f"文件 {file_path} 处理失败", OutputType.ERROR)
|
|
149
|
-
file_results.append(
|
|
150
|
-
{
|
|
151
|
-
"file": file_path,
|
|
152
|
-
"success": False,
|
|
153
|
-
"stdout": "",
|
|
154
|
-
"stderr": result,
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
except Exception as e:
|
|
158
|
-
error_msg = f"文件搜索替换操作失败: {str(e)}"
|
|
159
|
-
PrettyOutput.print(error_msg, OutputType.WARNING)
|
|
160
|
-
file_results.append(
|
|
161
|
-
{
|
|
162
|
-
"file": file_path,
|
|
163
|
-
"success": False,
|
|
164
|
-
"stdout": "",
|
|
165
|
-
"stderr": error_msg,
|
|
166
|
-
}
|
|
167
|
-
)
|
|
168
|
-
|
|
169
|
-
# 整合所有错误信息到stderr
|
|
170
|
-
all_stderr: List[str] = []
|
|
171
|
-
for file_result in file_results:
|
|
172
|
-
if not file_result["success"]:
|
|
173
|
-
all_stderr.append(f"文件 {file_result['file']} 处理失败: {file_result['stderr']}")
|
|
174
|
-
|
|
175
|
-
return {
|
|
176
|
-
"success": overall_success,
|
|
177
|
-
"stdout": "\n".join(stdout_messages) if overall_success else "",
|
|
178
|
-
"stderr": "\n".join(all_stderr) if not overall_success else "",
|
|
179
|
-
}
|