wcgw 5.0.0__py3-none-any.whl → 5.0.2__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.

Potentially problematic release.


This version of wcgw might be problematic. Click here for more details.

@@ -66,7 +66,7 @@ Include enough and only enough lines in each SEARCH section to uniquely match ea
66
66
 
67
67
  Keep *SEARCH/REPLACE* blocks concise.
68
68
  Break large *SEARCH/REPLACE* blocks into a series of smaller blocks that each change a small portion of the file.
69
- Include just the changing lines, and a few surrounding lines (2-3 lines) if needed for uniqueness.
70
- Other than for uniqueness, avoid including those lines which do not change in search (and replace) blocks. Target 2-3 non trivial extra lines per block.
69
+ Include just the changing lines, and a few surrounding lines (0-3 lines) if needed for uniqueness.
70
+ Other than for uniqueness, avoid including those lines which do not change in search (and replace) blocks. Target 0-3 non trivial extra lines per block.
71
71
 
72
72
  Preserve leading spaces and indentations in both SEARCH and REPLACE blocks.
wcgw/client/tools.py CHANGED
@@ -1043,6 +1043,9 @@ def get_tool_output(
1043
1043
  if file_paths_with_ranges: # Only add to whitelist if we have paths
1044
1044
  context.bash_state.add_to_whitelist_for_overwrite(file_paths_with_ranges)
1045
1045
 
1046
+ # Save bash_state
1047
+ context.bash_state.save_state_to_disk()
1048
+
1046
1049
  if isinstance(output[0], str):
1047
1050
  context.console.print(str(output[0]))
1048
1051
  else:
@@ -1162,7 +1165,7 @@ def read_file(
1162
1165
  with path.open("r") as f:
1163
1166
  all_lines = f.readlines(10_000_000)
1164
1167
 
1165
- if all_lines[-1].endswith("\n"):
1168
+ if all_lines and all_lines[-1].endswith("\n"):
1166
1169
  # Special handling of line counts because readlines doesn't consider last empty line as a separate line
1167
1170
  all_lines[-1] = all_lines[-1][:-1]
1168
1171
  all_lines.append("")
@@ -1217,7 +1220,10 @@ def read_file(
1217
1220
  content = truncated_content
1218
1221
  # Add informative message about truncation with total line count
1219
1222
  total_lines = len(all_lines)
1220
- content += f"\n(...truncated) Only showing till line number {last_line_shown} of {total_lines} total lines due to the token limit, please continue reading from {last_line_shown + 1} if required"
1223
+ content += (
1224
+ f"\n(...truncated) Only showing till line number {last_line_shown} of {total_lines} total lines due to the token limit, please continue reading from {last_line_shown + 1} if required"
1225
+ f" using syntax {file_path}:{last_line_shown + 1}-{total_lines}"
1226
+ )
1221
1227
  truncated = True
1222
1228
 
1223
1229
  # Update effective_end if truncated
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wcgw
3
- Version: 5.0.0
3
+ Version: 5.0.2
4
4
  Summary: Shell and coding agent for Claude and other mcp clients
5
5
  Project-URL: Homepage, https://github.com/rusiaaman/wcgw
6
6
  Author-email: Aman Rusia <gapypi@arcfu.com>
@@ -30,7 +30,7 @@ Description-Content-Type: text/markdown
30
30
 
31
31
  # Shell and Coding agent for Claude and other mcp clients
32
32
 
33
- Empowering AI to code, build and run on your local machine.
33
+ Empowering chat applications to code, build and run on your local machine.
34
34
 
35
35
  wcgw is an MCP server with tightly integrated shell and code editing tools.
36
36
 
@@ -48,6 +48,8 @@ wcgw is an MCP server with tightly integrated shell and code editing tools.
48
48
 
49
49
  ## Updates
50
50
 
51
+ - [27 Apr 2025] Removed support for GPTs over relay server. Only MCP server is supported in version >= 5.
52
+
51
53
  - [24 Mar 2025] Improved writing and editing experience for sonnet 3.7, CLAUDE.md gets loaded automatically.
52
54
 
53
55
  - [16 Feb 2025] You can now attach to the working terminal that the AI uses. See the "attach-to-terminal" section below.
@@ -3,11 +3,11 @@ wcgw/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  wcgw/types_.py,sha256=y60Lv_uUA1_sGIfADLUKy7rFPTax8jxor5GGCDKBfZ0,7533
4
4
  wcgw/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  wcgw/client/common.py,sha256=OCH7Tx64jojz3M3iONUrGMadE07W21DiZs5sOxWX1Qc,1456
6
- wcgw/client/diff-instructions.txt,sha256=HXYfGvhlDMxmiIX9AbB05wJcptJF_gSIobYhYSqWRJo,1685
6
+ wcgw/client/diff-instructions.txt,sha256=eKRFA86yXWIGwNxIDaegTgTzIrFIBDWWiN1yP8Hf3i4,1685
7
7
  wcgw/client/memory.py,sha256=M0plOGE5WXTEAs7nVLg4eCpVhmSW94ckpg5D0ycWX5I,2927
8
8
  wcgw/client/modes.py,sha256=roH6SPBokJMr5IzAlccdI-vJyvyS5vqSMMyth7TE86A,10315
9
9
  wcgw/client/tool_prompts.py,sha256=bbyKenE38s2CLnUZ9NN5OqqabsJkfidMR_YWocEAzBU,4417
10
- wcgw/client/tools.py,sha256=c31KB6G8Pelb-rCt9izfNLPfmsOpL-mwJdNue4gEWQM,45728
10
+ wcgw/client/tools.py,sha256=gvAMv0vIyepLHhJQGNWMfjN_dWJ97eWzYd6zIbzHYCo,45922
11
11
  wcgw/client/bash_state/bash_state.py,sha256=dY-dbApCenCOaDMC0BlBaSlI5jRrAZqwrVFqaeb0hGA,41670
12
12
  wcgw/client/bash_state/parser/__init__.py,sha256=AnlNSmoQTSoqqlLOLX4P1uXfzc5VGeCGJsGgtisq2zE,207
13
13
  wcgw/client/bash_state/parser/bash_statement_parser.py,sha256=9a8vPO1r3_tXmaAcubTQ5UY-NseWlalgm8LZA17LXuY,6058
@@ -51,8 +51,8 @@ mcp_wcgw/shared/memory.py,sha256=dBsOghxHz8-tycdSVo9kSujbsC8xb_tYsGmuJobuZnw,281
51
51
  mcp_wcgw/shared/progress.py,sha256=ymxOsb8XO5Mhlop7fRfdbmvPodANj7oq6O4dD0iUcnw,1048
52
52
  mcp_wcgw/shared/session.py,sha256=e44a0LQOW8gwdLs9_DE9oDsxqW2U8mXG3d5KT95bn5o,10393
53
53
  mcp_wcgw/shared/version.py,sha256=d2LZii-mgsPIxpshjkXnOTUmk98i0DT4ff8VpA_kAvE,111
54
- wcgw-5.0.0.dist-info/METADATA,sha256=jZqyptD9sikzEsp-A5tptpd_tKIL5XdmANuCDkk0AlA,14718
55
- wcgw-5.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
56
- wcgw-5.0.0.dist-info/entry_points.txt,sha256=UnjK-MAH4Qssh0tGJDMeij1oi-oRKokItkknP_BwShE,94
57
- wcgw-5.0.0.dist-info/licenses/LICENSE,sha256=BvY8xqjOfc3X2qZpGpX3MZEmF-4Dp0LqgKBbT6L_8oI,11142
58
- wcgw-5.0.0.dist-info/RECORD,,
54
+ wcgw-5.0.2.dist-info/METADATA,sha256=NOZsW-X7rbZ7HdfDbr5iW2K1wCFk5RJUKzpjJr7SV-k,14840
55
+ wcgw-5.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
56
+ wcgw-5.0.2.dist-info/entry_points.txt,sha256=UnjK-MAH4Qssh0tGJDMeij1oi-oRKokItkknP_BwShE,94
57
+ wcgw-5.0.2.dist-info/licenses/LICENSE,sha256=BvY8xqjOfc3X2qZpGpX3MZEmF-4Dp0LqgKBbT6L_8oI,11142
58
+ wcgw-5.0.2.dist-info/RECORD,,
File without changes