wcgw 5.0.1__tar.gz → 5.0.2__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.

Potentially problematic release.


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

Files changed (126) hide show
  1. {wcgw-5.0.1 → wcgw-5.0.2}/PKG-INFO +1 -1
  2. {wcgw-5.0.1 → wcgw-5.0.2}/pyproject.toml +1 -1
  3. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/diff-instructions.txt +2 -2
  4. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/tools.py +4 -1
  5. {wcgw-5.0.1 → wcgw-5.0.2}/.github/workflows/python-publish.yml +0 -0
  6. {wcgw-5.0.1 → wcgw-5.0.2}/.github/workflows/python-tests.yml +0 -0
  7. {wcgw-5.0.1 → wcgw-5.0.2}/.github/workflows/python-types.yml +0 -0
  8. {wcgw-5.0.1 → wcgw-5.0.2}/.gitignore +0 -0
  9. {wcgw-5.0.1 → wcgw-5.0.2}/.gitmodules +0 -0
  10. {wcgw-5.0.1 → wcgw-5.0.2}/.python-version +0 -0
  11. {wcgw-5.0.1 → wcgw-5.0.2}/.vscode/settings.json +0 -0
  12. {wcgw-5.0.1 → wcgw-5.0.2}/CLAUDE.md +0 -0
  13. {wcgw-5.0.1 → wcgw-5.0.2}/Dockerfile +0 -0
  14. {wcgw-5.0.1 → wcgw-5.0.2}/LICENSE +0 -0
  15. {wcgw-5.0.1 → wcgw-5.0.2}/README.md +0 -0
  16. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.git +0 -0
  17. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  19. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.github/workflows/main-checks.yml +0 -0
  20. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.github/workflows/publish-pypi.yml +0 -0
  21. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.github/workflows/pull-request-checks.yml +0 -0
  22. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.github/workflows/shared.yml +0 -0
  23. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.gitignore +0 -0
  24. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/.python-version +0 -0
  25. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/CODE_OF_CONDUCT.md +0 -0
  26. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/CONTRIBUTING.md +0 -0
  27. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/LICENSE +0 -0
  28. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/README.md +0 -0
  29. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/RELEASE.md +0 -0
  30. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/SECURITY.md +0 -0
  31. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/README.md +0 -0
  32. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-prompt/.python-version +0 -0
  33. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-prompt/README.md +0 -0
  34. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/__init__.py +0 -0
  35. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/__main__.py +0 -0
  36. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/server.py +0 -0
  37. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-prompt/pyproject.toml +0 -0
  38. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-resource/.python-version +0 -0
  39. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-resource/README.md +0 -0
  40. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/__init__.py +0 -0
  41. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/__main__.py +0 -0
  42. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/server.py +0 -0
  43. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-resource/pyproject.toml +0 -0
  44. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-tool/.python-version +0 -0
  45. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-tool/README.md +0 -0
  46. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/__init__.py +0 -0
  47. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/__main__.py +0 -0
  48. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/server.py +0 -0
  49. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/examples/servers/simple-tool/pyproject.toml +0 -0
  50. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/pyproject.toml +0 -0
  51. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/__init__.py +0 -0
  52. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/client/__init__.py +0 -0
  53. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/client/__main__.py +0 -0
  54. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/client/session.py +0 -0
  55. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/client/sse.py +0 -0
  56. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/client/stdio.py +0 -0
  57. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/py.typed +0 -0
  58. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/__init__.py +0 -0
  59. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/__main__.py +0 -0
  60. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/models.py +0 -0
  61. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/session.py +0 -0
  62. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/sse.py +0 -0
  63. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/stdio.py +0 -0
  64. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/server/websocket.py +0 -0
  65. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/__init__.py +0 -0
  66. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/context.py +0 -0
  67. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/exceptions.py +0 -0
  68. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/memory.py +0 -0
  69. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/progress.py +0 -0
  70. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/session.py +0 -0
  71. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/version.py +0 -0
  72. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/src/mcp_wcgw/types.py +0 -0
  73. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/__init__.py +0 -0
  74. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/client/__init__.py +0 -0
  75. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/client/test_session.py +0 -0
  76. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/client/test_stdio.py +0 -0
  77. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/conftest.py +0 -0
  78. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/server/__init__.py +0 -0
  79. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/server/test_session.py +0 -0
  80. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/server/test_stdio.py +0 -0
  81. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/shared/test_memory.py +0 -0
  82. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/tests/test_types.py +0 -0
  83. {wcgw-5.0.1 → wcgw-5.0.2}/src/mcp_wcgw_fork/uv.lock +0 -0
  84. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/__init__.py +0 -0
  85. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/__init__.py +0 -0
  86. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/bash_state/bash_state.py +0 -0
  87. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/bash_state/parser/__init__.py +0 -0
  88. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/bash_state/parser/bash_statement_parser.py +0 -0
  89. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/common.py +0 -0
  90. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/encoder/__init__.py +0 -0
  91. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/file_ops/diff_edit.py +0 -0
  92. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/file_ops/search_replace.py +0 -0
  93. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/mcp_server/Readme.md +0 -0
  94. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/mcp_server/__init__.py +0 -0
  95. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/mcp_server/server.py +0 -0
  96. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/memory.py +0 -0
  97. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/modes.py +0 -0
  98. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/repo_ops/display_tree.py +0 -0
  99. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/repo_ops/file_stats.py +0 -0
  100. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/repo_ops/path_prob.py +0 -0
  101. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/repo_ops/paths_model.vocab +0 -0
  102. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/repo_ops/paths_tokens.model +0 -0
  103. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/repo_ops/repo_context.py +0 -0
  104. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/client/tool_prompts.py +0 -0
  105. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/py.typed +0 -0
  106. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw/types_.py +0 -0
  107. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw_cli/__init__.py +0 -0
  108. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw_cli/__main__.py +0 -0
  109. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw_cli/anthropic_client.py +0 -0
  110. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw_cli/cli.py +0 -0
  111. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw_cli/openai_client.py +0 -0
  112. {wcgw-5.0.1 → wcgw-5.0.2}/src/wcgw_cli/openai_utils.py +0 -0
  113. {wcgw-5.0.1 → wcgw-5.0.2}/static/claude-ss.jpg +0 -0
  114. {wcgw-5.0.1 → wcgw-5.0.2}/static/computer-use.jpg +0 -0
  115. {wcgw-5.0.1 → wcgw-5.0.2}/static/example.jpg +0 -0
  116. {wcgw-5.0.1 → wcgw-5.0.2}/static/rocket-icon.png +0 -0
  117. {wcgw-5.0.1 → wcgw-5.0.2}/static/ss1.png +0 -0
  118. {wcgw-5.0.1 → wcgw-5.0.2}/static/workflow-demo.gif +0 -0
  119. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_bash_parser.py +0 -0
  120. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_bash_parser_complex.py +0 -0
  121. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_edit.py +0 -0
  122. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_file_range_tracking.py +0 -0
  123. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_mcp_server.py +0 -0
  124. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_readfiles.py +0 -0
  125. {wcgw-5.0.1 → wcgw-5.0.2}/tests/test_tools.py +0 -0
  126. {wcgw-5.0.1 → wcgw-5.0.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wcgw
3
- Version: 5.0.1
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>
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  authors = [{ name = "Aman Rusia", email = "gapypi@arcfu.com" }]
3
3
  name = "wcgw"
4
- version = "5.0.1"
4
+ version = "5.0.2"
5
5
  description = "Shell and coding agent for Claude and other mcp clients"
6
6
  readme = "README.md"
7
7
  requires-python = ">=3.11"
@@ -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.
@@ -1220,7 +1220,10 @@ def read_file(
1220
1220
  content = truncated_content
1221
1221
  # Add informative message about truncation with total line count
1222
1222
  total_lines = len(all_lines)
1223
- 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
+ )
1224
1227
  truncated = True
1225
1228
 
1226
1229
  # Update effective_end if truncated
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
File without changes