jarvis-ai-assistant 0.1.112__py3-none-any.whl → 0.1.114__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/agent.py +162 -81
- jarvis/jarvis_code_agent/code_agent.py +1 -1
- jarvis/jarvis_code_agent/patch.py +2 -4
- jarvis/jarvis_codebase/main.py +2 -0
- jarvis/jarvis_dev/main.py +664 -0
- jarvis/jarvis_platform/ai8.py +1 -1
- jarvis/jarvis_platform/openai.py +9 -1
- jarvis/jarvis_tools/file_operation.py +89 -57
- jarvis/jarvis_tools/git_commiter.py +4 -1
- jarvis/jarvis_tools/read_code.py +92 -41
- jarvis/jarvis_tools/registry.py +9 -16
- jarvis/multi_agent.py +76 -0
- jarvis/utils.py +74 -16
- {jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/METADATA +1 -1
- {jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/RECORD +20 -20
- {jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/entry_points.txt +1 -0
- jarvis/jarvis_tools/deep_thinking.py +0 -160
- jarvis/jarvis_tools/deep_thinking_agent.py +0 -146
- {jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/top_level.txt +0 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=
|
|
2
|
-
jarvis/agent.py,sha256=
|
|
3
|
-
jarvis/
|
|
1
|
+
jarvis/__init__.py,sha256=cS4qLb495yeM5a06qse90rei46TKwm0hGA4zGUilnfM,51
|
|
2
|
+
jarvis/agent.py,sha256=AEBsAtQTuhPa7KMwFiucTcItpqBtvKoe3n_5LSBmHwI,27060
|
|
3
|
+
jarvis/multi_agent.py,sha256=3cNX3jGyir_qJIsurIgkLiLXWt-L6yAoa_udhZrJ-dE,3731
|
|
4
|
+
jarvis/utils.py,sha256=QPjwlcbdSMpPL9uPB0Enq3ROAnxDl1b0XqCw7VD-jGc,29075
|
|
4
5
|
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
|
6
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=598ym4LR4hshM9hSvxd1MetPV10HjhvCWeI5b1woNYc,7494
|
|
6
7
|
jarvis/jarvis_code_agent/file_select.py,sha256=KOIdJfroNc21GuPc-DAjmh4LvO0T8lESfaw6Wh_Jzss,8160
|
|
7
|
-
jarvis/jarvis_code_agent/patch.py,sha256=
|
|
8
|
+
jarvis/jarvis_code_agent/patch.py,sha256=sG4DL7rBRY4SvkfNCTtLkg38MIUGAGt4OeGw60sZhKE,4861
|
|
8
9
|
jarvis/jarvis_code_agent/relevant_files.py,sha256=ljrnwbOnrM1GY8NielgpS3a7KeWFnK0UwbXzlQFcKFE,3323
|
|
9
10
|
jarvis/jarvis_codebase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
jarvis/jarvis_codebase/main.py,sha256=
|
|
11
|
+
jarvis/jarvis_codebase/main.py,sha256=hmb2Z0Q2fi-uY2fNDIfAgYddJ6ZDM0kRtEWeZ1fKeJ4,39322
|
|
12
|
+
jarvis/jarvis_dev/main.py,sha256=zjg-GVoOY8A09E0sFb88TMQuONMJme1IdyocCURIiys,19544
|
|
11
13
|
jarvis/jarvis_lsp/base.py,sha256=_7pdbMKjdtYBW0DsRbjIodDHM3J7df-YgXHejN_WIrU,4490
|
|
12
14
|
jarvis/jarvis_lsp/cpp.py,sha256=AZfcVPx7llZodhCJnuoxAi8tzSnhliJVTf1OU_GUIQk,4979
|
|
13
15
|
jarvis/jarvis_lsp/go.py,sha256=AArJrssA36gbxNrflzMfpDMN5YjXl1nVUo2uj1cBNJg,5304
|
|
@@ -15,11 +17,11 @@ jarvis/jarvis_lsp/python.py,sha256=_Vo2pPwVh_vAsyS0XowXMbT4Syd78naPEZj586bi004,4
|
|
|
15
17
|
jarvis/jarvis_lsp/registry.py,sha256=iBsyXlISQYbAxXw-VWfZhoDocVxoer0rhg6mdYbl2Dc,9926
|
|
16
18
|
jarvis/jarvis_lsp/rust.py,sha256=TFXx84KGCkhdvFD9BEgdoz70dOP9ouKJa9ml3F9R2T4,5535
|
|
17
19
|
jarvis/jarvis_platform/__init__.py,sha256=mrOt67nselz_H1gX9wdAO4y2DY5WPXzABqJbr5Des8k,63
|
|
18
|
-
jarvis/jarvis_platform/ai8.py,sha256=
|
|
20
|
+
jarvis/jarvis_platform/ai8.py,sha256=yhr04sTEyjmKodUWMpoAugQ-z0lWxrev3apOGmZF56c,11945
|
|
19
21
|
jarvis/jarvis_platform/base.py,sha256=JsaLlOrrhm1W4fD2J5ZhdtPxbmbzdE2ZEKckv5Q0cQc,2155
|
|
20
22
|
jarvis/jarvis_platform/kimi.py,sha256=KPctPysshPNC-i1W0G3DwjXJD5CYoZjxuUNZytypt20,15747
|
|
21
23
|
jarvis/jarvis_platform/ollama.py,sha256=NF2INX3i7HffESUPI40yoUB9U3jupfI3EXgmD_B3fFo,5606
|
|
22
|
-
jarvis/jarvis_platform/openai.py,sha256=
|
|
24
|
+
jarvis/jarvis_platform/openai.py,sha256=ZxZXCFpbcXKozthxo3NScYZZHGqhgYRckJLf_PHfnUE,4438
|
|
23
25
|
jarvis/jarvis_platform/oyi.py,sha256=bz7fzglefr2UfbDammtI-8rJSRY0ulldt-5TrL-JPrg,14987
|
|
24
26
|
jarvis/jarvis_platform/registry.py,sha256=VoY7FCp79AaE0-1t5CU0ezsq9naSoX9XF43ll_0Lfv8,8501
|
|
25
27
|
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -36,11 +38,9 @@ jarvis/jarvis_tools/chdir.py,sha256=A53BNXFB9tvwoV_cxW_LpF_DfxANgAEJ8rjikTaTa-I,
|
|
|
36
38
|
jarvis/jarvis_tools/code_review.py,sha256=SY6Xw1VhAmmNVCJZsgd6ItDBmth4bgjnpd0T0afGVSA,8581
|
|
37
39
|
jarvis/jarvis_tools/create_code_agent.py,sha256=yWrQqSp2jaUq2iueqiaNFTh8lXQnFbJWE6ekJKgKmOw,3899
|
|
38
40
|
jarvis/jarvis_tools/create_sub_agent.py,sha256=Kq4PG3mKlr9fZKZwrR9HVA3YA4Io5-wblpXe3e8O7Po,2855
|
|
39
|
-
jarvis/jarvis_tools/deep_thinking.py,sha256=ltsMUfmE8XNyYTkgpWMD1Qow-6_x0dcD8WL7qL4i8R8,4471
|
|
40
|
-
jarvis/jarvis_tools/deep_thinking_agent.py,sha256=UBBWq8kp6SDEhwYXjO-tMMHP7Wblx5OA-gpQ8h_1tdk,4378
|
|
41
41
|
jarvis/jarvis_tools/execute_shell.py,sha256=W8K-LUfQiGvXfqfToajGc8YsZ2OUpQpbwbab8mKm-nA,2559
|
|
42
|
-
jarvis/jarvis_tools/file_operation.py,sha256=
|
|
43
|
-
jarvis/jarvis_tools/git_commiter.py,sha256=
|
|
42
|
+
jarvis/jarvis_tools/file_operation.py,sha256=ODij6MNonkb3JuuWVxubnW-m2HQ--5KGzfgzrxRI_Vw,5385
|
|
43
|
+
jarvis/jarvis_tools/git_commiter.py,sha256=tWmV-vI1hCf2qkjfnF9BV2qRWt-k47cTku5mdnO0LSs,2727
|
|
44
44
|
jarvis/jarvis_tools/lsp_find_definition.py,sha256=xV8YeN1RJfwd2F3gE6OnDeTwl-AnCmrxueHocbXkQOc,4800
|
|
45
45
|
jarvis/jarvis_tools/lsp_find_references.py,sha256=FohlJeLfTxcMUASfbjOT93hQGtI2WeyTpMGwRwShW_I,4043
|
|
46
46
|
jarvis/jarvis_tools/lsp_get_diagnostics.py,sha256=bEvbDk8TnKg9TTFFxMrYOJm5TBDgz5gO04WJFQUwQQE,4490
|
|
@@ -49,16 +49,16 @@ jarvis/jarvis_tools/lsp_prepare_rename.py,sha256=RxUyIef4awtp-jgupcD1LcPlno9P3mO
|
|
|
49
49
|
jarvis/jarvis_tools/lsp_validate_edit.py,sha256=M0iglK2QbnIEFv0RYK6o2iAYnv259jB6EU7To-rc51E,5247
|
|
50
50
|
jarvis/jarvis_tools/methodology.py,sha256=5BhfcZuRFhr5vtegXCRL6YNFa7iiFqhft7nvBTnPFk4,5751
|
|
51
51
|
jarvis/jarvis_tools/rag.py,sha256=9QtRL51PqZvqy6tCxszpNbjDvEtEJknOL_A-5ZT65F0,4935
|
|
52
|
-
jarvis/jarvis_tools/read_code.py,sha256=
|
|
52
|
+
jarvis/jarvis_tools/read_code.py,sha256=dxtBQBhOaaJzU-nonchC08R3FpcClDJUXrHDY_b-dkQ,6045
|
|
53
53
|
jarvis/jarvis_tools/read_webpage.py,sha256=dgOjztOZRqvK_SpaUR7IJVOtfgZNJ8ZCOdd7aKb4ZL4,3056
|
|
54
|
-
jarvis/jarvis_tools/registry.py,sha256=
|
|
54
|
+
jarvis/jarvis_tools/registry.py,sha256=Gu9dDGRBdRtpP-kOWeF6JKuwmihJpkeR3RPZ2P-k2HM,11498
|
|
55
55
|
jarvis/jarvis_tools/search.py,sha256=6IqVIUzliR23t3SlJrg4ZT1JaCHNk5zkJAOnu2VCMHE,11430
|
|
56
56
|
jarvis/jarvis_tools/select_code_files.py,sha256=kUnNyi8vpmo1gmQDYg7N6bIUSsrElLzKRbi-1OftckA,1882
|
|
57
57
|
jarvis/jarvis_tools/tool_generator.py,sha256=jdniHyKcEyF9KyouudrCoZBH3czZmQXc3ns0_trZ3yU,6332
|
|
58
58
|
jarvis/utils/date_utils.py,sha256=DZCQ91FBC4dnQRKCqNnACTg3HuqzQ7R1DRYqH59tON4,537
|
|
59
|
-
jarvis_ai_assistant-0.1.
|
|
60
|
-
jarvis_ai_assistant-0.1.
|
|
61
|
-
jarvis_ai_assistant-0.1.
|
|
62
|
-
jarvis_ai_assistant-0.1.
|
|
63
|
-
jarvis_ai_assistant-0.1.
|
|
64
|
-
jarvis_ai_assistant-0.1.
|
|
59
|
+
jarvis_ai_assistant-0.1.114.dist-info/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
60
|
+
jarvis_ai_assistant-0.1.114.dist-info/METADATA,sha256=aPZEy8akoWwSxN4SWnOwG0RoP1aMpUQIT20rM2damWs,13701
|
|
61
|
+
jarvis_ai_assistant-0.1.114.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
62
|
+
jarvis_ai_assistant-0.1.114.dist-info/entry_points.txt,sha256=FpzVanGik4QFekIGDi4T6eI7WZypFuGjZUPwhAbuIIo,521
|
|
63
|
+
jarvis_ai_assistant-0.1.114.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
64
|
+
jarvis_ai_assistant-0.1.114.dist-info/RECORD,,
|
{jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/entry_points.txt
RENAMED
|
@@ -3,6 +3,7 @@ jarvis = jarvis.agent:main
|
|
|
3
3
|
jarvis-code-agent = jarvis.jarvis_code_agent.code_agent:main
|
|
4
4
|
jarvis-code-review = jarvis.jarvis_tools.code_review:main
|
|
5
5
|
jarvis-codebase = jarvis.jarvis_codebase.main:main
|
|
6
|
+
jarvis-dev = jarvis.jarvis_dev.main:main
|
|
6
7
|
jarvis-git-commit = jarvis.jarvis_tools.git_commiter:main
|
|
7
8
|
jarvis-platform-manager = jarvis.jarvis_platform_manager.main:main
|
|
8
9
|
jarvis-rag = jarvis.jarvis_rag.main:main
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from typing import Dict, Any
|
|
3
|
-
from jarvis.jarvis_platform.registry import PlatformRegistry
|
|
4
|
-
from jarvis.utils import OutputType, PrettyOutput
|
|
5
|
-
|
|
6
|
-
class DeepThinkingTool:
|
|
7
|
-
"""Tool for deep thinking about user requirements using thinking platform."""
|
|
8
|
-
|
|
9
|
-
name = "deep_thinking"
|
|
10
|
-
description = "Analyze and think deeply about user requirements"
|
|
11
|
-
parameters = {
|
|
12
|
-
"requirement": "The requirement or question to think about",
|
|
13
|
-
"mode": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"description": "Thinking mode: analysis/solution/critique",
|
|
16
|
-
"enum": ["analysis", "solution", "critique"],
|
|
17
|
-
"default": "analysis"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
def execute(self, args: Dict[str, Any]) -> Dict[str, Any]:
|
|
22
|
-
try:
|
|
23
|
-
requirement = args.get("requirement", "")
|
|
24
|
-
mode = args.get("mode", "analysis")
|
|
25
|
-
|
|
26
|
-
if not requirement:
|
|
27
|
-
return {
|
|
28
|
-
"success": False,
|
|
29
|
-
"stderr": "Requirement must be provided",
|
|
30
|
-
"stdout": ""
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
# Get thinking platform
|
|
34
|
-
platform = PlatformRegistry().get_thinking_platform()
|
|
35
|
-
|
|
36
|
-
# Build prompt based on mode
|
|
37
|
-
if mode == "analysis":
|
|
38
|
-
prompt = f"""Please analyze this requirement deeply. Consider:
|
|
39
|
-
|
|
40
|
-
1. Core Objectives:
|
|
41
|
-
- What is the fundamental goal?
|
|
42
|
-
- What are the key requirements?
|
|
43
|
-
- What are the implicit needs?
|
|
44
|
-
|
|
45
|
-
2. Scope Analysis:
|
|
46
|
-
- What is included/excluded?
|
|
47
|
-
- What are the boundaries?
|
|
48
|
-
- What are potential edge cases?
|
|
49
|
-
|
|
50
|
-
3. Challenges:
|
|
51
|
-
- What are the technical challenges?
|
|
52
|
-
- What are potential risks?
|
|
53
|
-
- What needs special attention?
|
|
54
|
-
|
|
55
|
-
4. Dependencies:
|
|
56
|
-
- What are the prerequisites?
|
|
57
|
-
- What systems will be affected?
|
|
58
|
-
- What integrations are needed?
|
|
59
|
-
|
|
60
|
-
Requirement to analyze:
|
|
61
|
-
{requirement}
|
|
62
|
-
|
|
63
|
-
Please provide a structured analysis."""
|
|
64
|
-
|
|
65
|
-
elif mode == "solution":
|
|
66
|
-
prompt = f"""Please think deeply about potential solutions. Consider:
|
|
67
|
-
|
|
68
|
-
1. Solution Approaches:
|
|
69
|
-
- What are possible approaches?
|
|
70
|
-
- What are the pros/cons of each?
|
|
71
|
-
- What is the recommended approach?
|
|
72
|
-
|
|
73
|
-
2. Implementation Strategy:
|
|
74
|
-
- How should this be implemented?
|
|
75
|
-
- What are the key steps?
|
|
76
|
-
- What is the suggested order?
|
|
77
|
-
|
|
78
|
-
3. Technical Considerations:
|
|
79
|
-
- What technologies should be used?
|
|
80
|
-
- What patterns would work best?
|
|
81
|
-
- What should be avoided?
|
|
82
|
-
|
|
83
|
-
4. Risk Mitigation:
|
|
84
|
-
- How to handle potential issues?
|
|
85
|
-
- What safeguards are needed?
|
|
86
|
-
- What should be tested carefully?
|
|
87
|
-
|
|
88
|
-
Requirement to solve:
|
|
89
|
-
{requirement}
|
|
90
|
-
|
|
91
|
-
Please provide a structured solution plan."""
|
|
92
|
-
|
|
93
|
-
else: # critique
|
|
94
|
-
prompt = f"""Please critique this requirement carefully. Consider:
|
|
95
|
-
|
|
96
|
-
1. Clarity:
|
|
97
|
-
- Is it clearly defined?
|
|
98
|
-
- Are there ambiguities?
|
|
99
|
-
- What needs clarification?
|
|
100
|
-
|
|
101
|
-
2. Completeness:
|
|
102
|
-
- Are all aspects covered?
|
|
103
|
-
- What might be missing?
|
|
104
|
-
- Are edge cases considered?
|
|
105
|
-
|
|
106
|
-
3. Feasibility:
|
|
107
|
-
- Is it technically feasible?
|
|
108
|
-
- Are there resource constraints?
|
|
109
|
-
- What are potential blockers?
|
|
110
|
-
|
|
111
|
-
4. Improvements:
|
|
112
|
-
- How could it be better?
|
|
113
|
-
- What should be added/removed?
|
|
114
|
-
- What alternatives exist?
|
|
115
|
-
|
|
116
|
-
Requirement to critique:
|
|
117
|
-
{requirement}
|
|
118
|
-
|
|
119
|
-
Please provide a structured critique."""
|
|
120
|
-
|
|
121
|
-
# Get thinking result
|
|
122
|
-
result = platform.chat_until_success(prompt)
|
|
123
|
-
|
|
124
|
-
return {
|
|
125
|
-
"success": True,
|
|
126
|
-
"stdout": result,
|
|
127
|
-
"stderr": ""
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
except Exception as e:
|
|
131
|
-
return {
|
|
132
|
-
"success": False,
|
|
133
|
-
"stderr": f"Thinking failed: {str(e)}",
|
|
134
|
-
"stdout": ""
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
def main():
|
|
138
|
-
"""CLI entry point"""
|
|
139
|
-
import argparse
|
|
140
|
-
|
|
141
|
-
parser = argparse.ArgumentParser(description='Deep thinking tool')
|
|
142
|
-
parser.add_argument('requirement', help='Requirement to think about')
|
|
143
|
-
parser.add_argument('--mode', choices=['analysis', 'solution', 'critique'],
|
|
144
|
-
default='analysis', help='Thinking mode')
|
|
145
|
-
|
|
146
|
-
args = parser.parse_args()
|
|
147
|
-
|
|
148
|
-
tool = DeepThinkingTool()
|
|
149
|
-
result = tool.execute({
|
|
150
|
-
"requirement": args.requirement,
|
|
151
|
-
"mode": args.mode
|
|
152
|
-
})
|
|
153
|
-
|
|
154
|
-
if result["success"]:
|
|
155
|
-
PrettyOutput.print(result["stdout"], OutputType.SUCCESS)
|
|
156
|
-
else:
|
|
157
|
-
PrettyOutput.print(result["stderr"], OutputType.ERROR)
|
|
158
|
-
|
|
159
|
-
if __name__ == "__main__":
|
|
160
|
-
main()
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from typing import Dict, Any
|
|
3
|
-
from jarvis.agent import Agent
|
|
4
|
-
from jarvis.jarvis_platform.registry import PlatformRegistry
|
|
5
|
-
from jarvis.jarvis_tools.registry import ToolRegistry
|
|
6
|
-
from jarvis.utils import OutputType, PrettyOutput
|
|
7
|
-
|
|
8
|
-
class DeepThinkingAgentTool:
|
|
9
|
-
"""Tool for deep thinking using an agent with thinking platform."""
|
|
10
|
-
|
|
11
|
-
name = "deep_thinking_agent"
|
|
12
|
-
description = "Use an agent to think deeply about problems and solutions"
|
|
13
|
-
parameters = {
|
|
14
|
-
"question": "The question or problem to think about"
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
def execute(self, args: Dict[str, Any]) -> Dict[str, Any]:
|
|
18
|
-
try:
|
|
19
|
-
question = args.get("question", "")
|
|
20
|
-
if not question:
|
|
21
|
-
return {
|
|
22
|
-
"success": False,
|
|
23
|
-
"stderr": "Question must be provided",
|
|
24
|
-
"stdout": ""
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
# Initialize tool registry
|
|
28
|
-
tool_registry = ToolRegistry()
|
|
29
|
-
tool_registry.dont_use_tools([
|
|
30
|
-
"deep_thinking_agent"
|
|
31
|
-
])
|
|
32
|
-
|
|
33
|
-
# Define system prompt for thinking agent
|
|
34
|
-
system_prompt = """You are a deep thinking agent that carefully analyzes problems and proposes solutions.
|
|
35
|
-
|
|
36
|
-
THINKING PROCESS:
|
|
37
|
-
1. Initial Analysis
|
|
38
|
-
```
|
|
39
|
-
Thought: Let me first understand the core problem...
|
|
40
|
-
Action: Use deep_thinking with mode=analysis
|
|
41
|
-
Observation: The analysis shows...
|
|
42
|
-
|
|
43
|
-
Thought: I need more information about...
|
|
44
|
-
Action: Use appropriate tool (search/ask_user/ask_codebase)
|
|
45
|
-
Observation: Found that...
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
2. Solution Exploration
|
|
49
|
-
```
|
|
50
|
-
Thought: Let me explore possible solutions...
|
|
51
|
-
Action: Use deep_thinking with mode=solution
|
|
52
|
-
Observation: The potential solutions are...
|
|
53
|
-
|
|
54
|
-
Thought: I should validate these approaches...
|
|
55
|
-
Action: Use appropriate tool to verify
|
|
56
|
-
Observation: Verification shows...
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
3. Critical Review
|
|
60
|
-
```
|
|
61
|
-
Thought: Let me critique the proposed solution...
|
|
62
|
-
Action: Use deep_thinking with mode=critique
|
|
63
|
-
Observation: The critique reveals...
|
|
64
|
-
|
|
65
|
-
Thought: These points need addressing...
|
|
66
|
-
Action: Revise solution based on critique
|
|
67
|
-
Observation: The improved solution...
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
4. Final Recommendation
|
|
71
|
-
```
|
|
72
|
-
Thought: Synthesize all findings...
|
|
73
|
-
Action: Compile final recommendation
|
|
74
|
-
Output: Detailed solution with rationale
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
GUIDELINES:
|
|
78
|
-
- Use deep_thinking tool for structured analysis
|
|
79
|
-
- Validate assumptions with search/ask_user
|
|
80
|
-
- Consider multiple perspectives
|
|
81
|
-
- Provide evidence for conclusions
|
|
82
|
-
- Be thorough but practical
|
|
83
|
-
- Focus on actionable recommendations
|
|
84
|
-
|
|
85
|
-
Please proceed with the analysis and provide a comprehensive response."""
|
|
86
|
-
|
|
87
|
-
# Create agent with thinking platform
|
|
88
|
-
agent = Agent(
|
|
89
|
-
system_prompt=system_prompt,
|
|
90
|
-
name="DeepThinkingAgent",
|
|
91
|
-
tool_registry=tool_registry,
|
|
92
|
-
platform=PlatformRegistry().get_thinking_platform(),
|
|
93
|
-
auto_complete=True,
|
|
94
|
-
is_sub_agent=True,
|
|
95
|
-
summary_prompt="""Please provide a structured summary of your thinking process and conclusions:
|
|
96
|
-
|
|
97
|
-
<THINKING_SUMMARY>
|
|
98
|
-
Analysis:
|
|
99
|
-
[Key findings from analysis]
|
|
100
|
-
|
|
101
|
-
Solutions:
|
|
102
|
-
[Proposed solutions and rationale]
|
|
103
|
-
|
|
104
|
-
Critique:
|
|
105
|
-
[Critical considerations]
|
|
106
|
-
|
|
107
|
-
Recommendation:
|
|
108
|
-
[Final recommendation with justification]
|
|
109
|
-
</THINKING_SUMMARY>"""
|
|
110
|
-
)
|
|
111
|
-
|
|
112
|
-
# Run agent
|
|
113
|
-
result = agent.run(question)
|
|
114
|
-
|
|
115
|
-
return {
|
|
116
|
-
"success": True,
|
|
117
|
-
"stdout": result,
|
|
118
|
-
"stderr": ""
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
except Exception as e:
|
|
122
|
-
return {
|
|
123
|
-
"success": False,
|
|
124
|
-
"stderr": f"Deep thinking failed: {str(e)}",
|
|
125
|
-
"stdout": ""
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
def main():
|
|
129
|
-
"""CLI entry point"""
|
|
130
|
-
import argparse
|
|
131
|
-
|
|
132
|
-
parser = argparse.ArgumentParser(description='Deep thinking agent')
|
|
133
|
-
parser.add_argument('question', help='Question or problem to think about')
|
|
134
|
-
|
|
135
|
-
args = parser.parse_args()
|
|
136
|
-
|
|
137
|
-
tool = DeepThinkingAgentTool()
|
|
138
|
-
result = tool.execute({"question": args.question})
|
|
139
|
-
|
|
140
|
-
if result["success"]:
|
|
141
|
-
PrettyOutput.print(result["stdout"], OutputType.SUCCESS)
|
|
142
|
-
else:
|
|
143
|
-
PrettyOutput.print(result["stderr"], OutputType.ERROR)
|
|
144
|
-
|
|
145
|
-
if __name__ == "__main__":
|
|
146
|
-
main()
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.112.dist-info → jarvis_ai_assistant-0.1.114.dist-info}/top_level.txt
RENAMED
|
File without changes
|