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.
- {pycoze-0.1.389 → pycoze-0.1.392}/PKG-INFO +1 -1
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/chat_base.py +14 -10
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/prompt.md +5 -5
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/PKG-INFO +1 -1
- {pycoze-0.1.389 → pycoze-0.1.392}/setup.py +1 -1
- {pycoze-0.1.389 → pycoze-0.1.392}/LICENSE +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/README.md +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/llm/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/llm/chat.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/llm/text_to_image_prompt.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ai/vram_reserve.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/tab.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/view.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/web.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/api/lib/window.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/chat.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/lib.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/message.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/bot/tools.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/bot.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/lib.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/tool.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/reference/workflow.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/base.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/color.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/typ.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/ui/ui_def.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/__init__.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/arg.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/env.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/socket.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze/utils/text_or_file.py +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/SOURCES.txt +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/dependency_links.txt +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/pycoze.egg-info/top_level.txt +0 -0
- {pycoze-0.1.389 → pycoze-0.1.392}/setup.cfg +0 -0
@@ -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
|
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
|
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
|
-
|
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"
|
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
|
-
{
|
58
|
+
{active_file_str}
|
58
59
|
|
59
60
|
{opened_files_str}
|
60
61
|
|
61
|
-
{
|
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":
|
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.
|
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.
|
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.
|
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.
|
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.
|
225
|
+
Lists files and directories in a specified directory.
|
226
226
|
|
227
227
|
Parameters:
|
228
228
|
path (str): The directory path to list contents.
|
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
|
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
|