pycoze 0.1.389__tar.gz → 0.1.392__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 (43) hide show
  1. {pycoze-0.1.389 → pycoze-0.1.392}/PKG-INFO +1 -1
  2. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/chat_base.py +14 -10
  3. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/prompt.md +5 -5
  4. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/PKG-INFO +1 -1
  5. {pycoze-0.1.389 → pycoze-0.1.392}/setup.py +1 -1
  6. {pycoze-0.1.389 → pycoze-0.1.392}/LICENSE +0 -0
  7. {pycoze-0.1.389 → pycoze-0.1.392}/README.md +0 -0
  8. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/__init__.py +0 -0
  9. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/__init__.py +0 -0
  10. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/llm/__init__.py +0 -0
  11. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/llm/chat.py +0 -0
  12. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/llm/text_to_image_prompt.py +0 -0
  13. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/vram_reserve.py +0 -0
  14. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/__init__.py +0 -0
  15. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/__init__.py +0 -0
  16. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/tab.py +0 -0
  17. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/view.py +0 -0
  18. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/web.py +0 -0
  19. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/window.py +0 -0
  20. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/__init__.py +0 -0
  21. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/chat.py +0 -0
  22. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/lib.py +0 -0
  23. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/message.py +0 -0
  24. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/tools.py +0 -0
  25. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/__init__.py +0 -0
  26. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/bot.py +0 -0
  27. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/lib.py +0 -0
  28. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/tool.py +0 -0
  29. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/workflow.py +0 -0
  30. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/__init__.py +0 -0
  31. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/base.py +0 -0
  32. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/color.py +0 -0
  33. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/typ.py +0 -0
  34. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/ui_def.py +0 -0
  35. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/__init__.py +0 -0
  36. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/arg.py +0 -0
  37. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/env.py +0 -0
  38. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/socket.py +0 -0
  39. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/text_or_file.py +0 -0
  40. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/SOURCES.txt +0 -0
  41. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/dependency_links.txt +0 -0
  42. {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/top_level.txt +0 -0
  43. {pycoze-0.1.389 → pycoze-0.1.392}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pycoze
3
- Version: 0.1.389
3
+ Version: 0.1.392
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -19,7 +19,7 @@ def guess_files_in_message(cwd: str, user_message: str) -> List[str]:
19
19
  return []
20
20
 
21
21
 
22
- def content_str(cwd, potential_paths, conversation_history):
22
+ def format_content(cwd, potential_paths, conversation_history):
23
23
  content = []
24
24
  for file_path in potential_paths:
25
25
  file_path = resolve_relative_path(cwd, file_path)
@@ -36,17 +36,18 @@ def content_str(cwd, potential_paths, conversation_history):
36
36
  else ""
37
37
  )
38
38
 
39
- def user_task_prompt(conversation_history, cwd, user_input: str, programmer_mode: bool, opened_files: List[str]):
39
+ def generate_user_task_prompt(conversation_history, cwd, user_input: str, programmer_mode: bool, active_file:str, opened_files: List[str]):
40
40
  if programmer_mode:
41
41
  potential_paths = guess_files_in_message(cwd, user_input)
42
42
 
43
- exist_files = get_formatted_filelist_str(cwd, True, 200)
44
- 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)
45
44
 
45
+ active_file_str = f"Currently viewing: {active_file}" if active_file else ""
46
+
46
47
  opened_files_str = (
47
- f"Opened files:\n{'\n'.join(opened_files)}" if opened_files else ""
48
+ f"Open tabs:\n{'\n'.join(opened_files)}" if opened_files else ""
48
49
  )
49
-
50
+ existing_files_str = f"Files in directory:\n{existing_files}" if existing_files else ""
50
51
  return f"""<task>
51
52
  {user_input}
52
53
  </task>
@@ -54,11 +55,13 @@ def user_task_prompt(conversation_history, cwd, user_input: str, programmer_mode
54
55
  <environment_details>
55
56
  Current working directory: {cwd}
56
57
 
57
- {exist_files_str}
58
+ {active_file_str}
58
59
 
59
60
  {opened_files_str}
60
61
 
61
- {content_str(cwd, potential_paths, conversation_history)}
62
+ {existing_files_str}
63
+
64
+ {format_content(cwd, potential_paths, conversation_history)}
62
65
 
63
66
  </environment_details>
64
67
  """
@@ -154,6 +157,7 @@ async def handle_user_inputs(
154
157
  programmer_mode = bot_setting["programmerMode"]
155
158
  show_tool_results = bot_setting["showToolResults"]
156
159
  opened_files = bot_setting["openedFiles"]
160
+ active_file = bot_setting["activeFile"]
157
161
 
158
162
  start_new_stream = {
159
163
  "value": False
@@ -166,8 +170,8 @@ async def handle_user_inputs(
166
170
  conversation_history.append(
167
171
  {
168
172
  "role": "user",
169
- "content": user_task_prompt(
170
- 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
171
175
  ),
172
176
  }
173
177
  )
@@ -43,7 +43,7 @@ Always follow this format to ensure that tool usage is correctly parsed and exec
43
43
  ```python
44
44
  def read_multiple_files(paths_list: list) -> dict:
45
45
  """
46
- Reads the contents of multiple files listed in the specified paths. Use this tool when you need to inspect the contents of multiple existing files, such as analyzing code, viewing text files, or extracting information from configuration files. Automatically extracts raw text from PDF and DOCX files. May not work well with other types of binary files as it returns raw content as a string.
46
+ Reads the contents of multiple files listed in the specified paths.
47
47
 
48
48
  Parameters:
49
49
  paths_list (list): A list of file paths to read.
@@ -71,11 +71,11 @@ def read_multiple_files(paths_list: list) -> dict:
71
71
  ```python
72
72
  def execute_command(command: str, requires_approval: bool) -> any:
73
73
  """
74
- Executes a CLI command on the system. Use this tool when you need to perform system operations or run specific commands to accomplish any step of the user's task. Customize commands based on the user's system and clearly explain what each command does. Prefer executing complex CLI commands over creating executable scripts due to their flexibility and ease of use.
74
+ Executes a CLI command on the system.
75
75
 
76
76
  Parameters:
77
77
  command (str): The CLI command to execute. This should be suitable for the current operating system. Ensure the command is correctly formatted and contains no harmful instructions.
78
- requires_approval (bool): A boolean indicating whether explicit user approval is needed for this command when the user has enabled automatic approval mode. Set to `true` for potentially impactful actions, such as installing/uninstalling packages, deleting/overwriting files, system configuration changes, network operations, or any command with potential unintended side effects. Set to `false` for safe operations like reading files/directories, running development servers, building projects, and other non-destructive actions.
78
+ requires_approval (bool): A boolean indicating whether explicit user approval is needed for this command when the user has enabled automatic approval mode.
79
79
 
80
80
  Returns:
81
81
  any: The result of the executed command.
@@ -190,7 +190,7 @@ int main() {
190
190
  ```python
191
191
  def search_files(path: str, regex: str, file_pattern: str = "*") -> dict:
192
192
  """
193
- Performs a regular expression search across files in a specified directory, providing rich contextual results. This tool searches patterns or specific content across multiple files, displaying each match with its surrounding context.
193
+ Performs a regular expression search across files in a specified directory, providing rich contextual results.
194
194
 
195
195
  Parameters:
196
196
  path (str): The directory path to search. This directory will be recursively searched.
@@ -222,7 +222,7 @@ def search_files(path: str, regex: str, file_pattern: str = "*") -> dict:
222
222
  ```python
223
223
  def list_files(path: str, recursive: bool = False) -> list:
224
224
  """
225
- Lists files and directories in a specified directory. If `recursive` is `true`, lists all files and directories recursively. If `recursive` is `false` or not provided, lists only top-level contents. Do not use this tool to confirm the existence of files you may have created, as users will inform you if files were successfully created.
225
+ Lists files and directories in a specified directory.
226
226
 
227
227
  Parameters:
228
228
  path (str): The directory path to list contents.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pycoze
3
- Version: 0.1.389
3
+ Version: 0.1.392
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="pycoze",
5
- version="0.1.389",
5
+ version="0.1.392",
6
6
  packages=find_packages(),
7
7
  install_requires=[],
8
8
  author="Yuan Jie Xiong",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes