pycoze 0.1.388__py3-none-any.whl → 0.1.390__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.
pycoze/bot/chat_base.py CHANGED
@@ -19,32 +19,35 @@ def guess_files_in_message(cwd: str, user_message: str) -> List[str]:
19
19
  return []
20
20
 
21
21
 
22
- def user_task_prompt(conversation_history, cwd, user_input: str, programmer_mode: bool, opened_files: List[str]):
22
+ def format_content(cwd, potential_paths, conversation_history):
23
+ content = []
24
+ for file_path in potential_paths:
25
+ file_path = resolve_relative_path(cwd, file_path)
26
+ if os.path.isfile(file_path):
27
+ file_marker = f"[[{file_path}]]'"
28
+ file_content = read_local_file(file_path)
29
+ if not any(
30
+ file_marker in msg["content"] for msg in conversation_history
31
+ ):
32
+ content.append(f"{file_marker}\n{file_content}")
33
+ return (
34
+ "Partial contents of files are as follows:" + "\n".join(content)
35
+ if content
36
+ else ""
37
+ )
38
+
39
+ def generate_user_task_prompt(conversation_history, cwd, user_input: str, programmer_mode: bool, active_file:str, opened_files: List[str]):
23
40
  if programmer_mode:
24
41
  potential_paths = guess_files_in_message(cwd, user_input)
25
42
 
26
- exist_files = get_formatted_filelist_str(cwd, True, 200)
27
- exist_files_str = f"Files in current directory:\n{exist_files}" if exist_files else ""
43
+ existing_files = get_formatted_filelist_str(cwd, True, 200)
28
44
 
29
- opened_files_str = (
30
- f"Opened files:\n{'\n'.join(opened_files)}" if opened_files else ""
31
- )
45
+ active_file_str = f"Currently viewing: {active_file}" if active_file else ""
32
46
 
33
- content = []
34
- for file_path in potential_paths:
35
- file_path = resolve_relative_path(cwd, file_path)
36
- if os.path.isfile(file_path):
37
- file_marker = f"[[{file_path}]]'"
38
- file_content = read_local_file(file_path)
39
- if not any(
40
- file_marker in msg["content"] for msg in conversation_history
41
- ):
42
- content.append(f"{file_marker}\n{file_content}")
43
- content_str = (
44
- "Partial contents of files are as follows:" + "\n".join(content)
45
- if content
46
- else ""
47
+ opened_files_str = (
48
+ f"Open tabs:\n{'\n'.join(opened_files)}" if opened_files else ""
47
49
  )
50
+ existing_files_str = f"Files in directory:\n{existing_files}" if existing_files else ""
48
51
  return f"""<task>
49
52
  {user_input}
50
53
  </task>
@@ -52,11 +55,13 @@ def user_task_prompt(conversation_history, cwd, user_input: str, programmer_mode
52
55
  <environment_details>
53
56
  Current working directory: {cwd}
54
57
 
55
- {exist_files_str}
58
+ {active_file_str}
56
59
 
57
60
  {opened_files_str}
58
61
 
59
- {content_str}
62
+ {existing_files_str}
63
+
64
+ {format_content(cwd, potential_paths, conversation_history)}
60
65
 
61
66
  </environment_details>
62
67
  """
@@ -152,6 +157,7 @@ async def handle_user_inputs(
152
157
  programmer_mode = bot_setting["programmerMode"]
153
158
  show_tool_results = bot_setting["showToolResults"]
154
159
  opened_files = bot_setting["openedFiles"]
160
+ active_file = bot_setting["activeFile"]
155
161
 
156
162
  start_new_stream = {
157
163
  "value": False
@@ -164,8 +170,8 @@ async def handle_user_inputs(
164
170
  conversation_history.append(
165
171
  {
166
172
  "role": "user",
167
- "content": user_task_prompt(
168
- conversation_history, cwd, user_input, programmer_mode, opened_files
173
+ "content": generate_user_task_prompt(
174
+ conversation_history, cwd, user_input, programmer_mode, active_file, opened_files
169
175
  ),
170
176
  }
171
177
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pycoze
3
- Version: 0.1.388
3
+ Version: 0.1.390
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -12,7 +12,7 @@ pycoze/api/lib/web.py,sha256=GWgtiTJOolKOX2drXcwuyqTcbo5FQVxa1NuBGcNyjyc,223
12
12
  pycoze/api/lib/window.py,sha256=dkzWfLwn5pE_L0DfQ38K8nx9tQyT5KO-GYyXi0rytFc,2073
13
13
  pycoze/bot/__init__.py,sha256=rL3Q-ycczRpSFfKn84fg3QBl5k22WpyeIU5qOEjEby8,79
14
14
  pycoze/bot/chat.py,sha256=4RGMwg2TjFERd-4LTIpQ6ilaRx4eP566KaQma2jg2O4,6296
15
- pycoze/bot/chat_base.py,sha256=BuDMyWSNVfRee94fUkNKubU8E8ME2hU4DzrzE7M3ZSQ,9973
15
+ pycoze/bot/chat_base.py,sha256=wDPSGuIr4osM-LP0Np3TnNI1hsGWhtX0BE_RJupqUgU,10218
16
16
  pycoze/bot/lib.py,sha256=WMVhyKFXvNoLrS2wvNOakIJXyUmVE6ujCV6XVDV0M6A,7213
17
17
  pycoze/bot/message.py,sha256=udnIi-h4QgGzkbr_5VcAsVGjoLp9wXJSfBCeuOz7_Bk,802
18
18
  pycoze/bot/prompt.md,sha256=Km8GzmmC44HN0rnZh8txZxY52_0KWgyKh6GkjGQ3bCI,15379
@@ -32,8 +32,8 @@ pycoze/utils/arg.py,sha256=jop1tBfe5hYkHW1NSpCeaZBEznkgguBscj_7M2dWfrs,503
32
32
  pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
33
33
  pycoze/utils/socket.py,sha256=bZbFFRH4mfThzRqt55BAAGQ6eICx_ja4x8UGGrUdAm8,2428
34
34
  pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
35
- pycoze-0.1.388.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
36
- pycoze-0.1.388.dist-info/METADATA,sha256=jZ5uGP79BWdbRlta5YfKvg198O08PvzIGa828xxUOdU,854
37
- pycoze-0.1.388.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
38
- pycoze-0.1.388.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
39
- pycoze-0.1.388.dist-info/RECORD,,
35
+ pycoze-0.1.390.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
36
+ pycoze-0.1.390.dist-info/METADATA,sha256=jxXBcl2f3zX8nMSJuWCZzC_wuge-oA8DnmMC26LB7Qg,854
37
+ pycoze-0.1.390.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
38
+ pycoze-0.1.390.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
39
+ pycoze-0.1.390.dist-info/RECORD,,