wcgw 2.8.2__tar.gz → 2.8.3__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.
- {wcgw-2.8.2 → wcgw-2.8.3}/PKG-INFO +2 -2
- {wcgw-2.8.2 → wcgw-2.8.3}/pyproject.toml +2 -2
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/tools.py +4 -1
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_tools_extended.py +1 -1
- {wcgw-2.8.2 → wcgw-2.8.3}/uv.lock +168 -170
- {wcgw-2.8.2 → wcgw-2.8.3}/.github/workflows/python-publish.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/.github/workflows/python-tests.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/.github/workflows/python-types.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/.gitignore +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/.gitmodules +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/.python-version +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/.vscode/settings.json +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/LICENSE +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/README.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/gpt_action_json_schema.json +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/gpt_instructions.txt +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/openai.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.git +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.github/workflows/main-checks.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.github/workflows/publish-pypi.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.github/workflows/pull-request-checks.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.github/workflows/shared.yml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.gitignore +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/.python-version +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/CODE_OF_CONDUCT.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/CONTRIBUTING.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/LICENSE +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/README.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/RELEASE.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/SECURITY.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/README.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-prompt/.python-version +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-prompt/README.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/__main__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/server.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-prompt/pyproject.toml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-resource/.python-version +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-resource/README.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/__main__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/server.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-resource/pyproject.toml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-tool/.python-version +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-tool/README.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/__main__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/server.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/examples/servers/simple-tool/pyproject.toml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/pyproject.toml +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/client/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/client/__main__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/client/session.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/client/sse.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/client/stdio.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/py.typed +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/__main__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/models.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/session.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/sse.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/stdio.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/server/websocket.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/context.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/exceptions.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/memory.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/progress.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/session.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/version.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/src/mcp_wcgw/types.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/client/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/client/test_session.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/client/test_stdio.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/conftest.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/server/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/server/test_session.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/server/test_stdio.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/shared/test_memory.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/tests/test_types.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/mcp_wcgw_fork/uv.lock +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/__main__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/anthropic_client.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/cli.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/common.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/computer_use.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/diff-instructions.txt +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/file_ops/diff_edit.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/file_ops/search_replace.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/mcp_server/Readme.md +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/mcp_server/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/mcp_server/server.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/memory.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/modes.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/openai_client.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/openai_utils.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/repo_ops/display_tree.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/repo_ops/path_prob.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/repo_ops/paths_model.vocab +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/repo_ops/paths_tokens.model +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/repo_ops/repo_context.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/client/sys_utils.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/relay/serve.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/relay/static/privacy.txt +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/src/wcgw/types_.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/static/claude-ss.jpg +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/static/computer-use.jpg +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/static/example.jpg +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/static/rocket-icon.png +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/static/ss1.png +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/file_ops/test_diff_edit.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/file_ops/test_search_replace.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/repo_ops/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/repo_ops/test_display_tree.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/repo_ops/test_display_tree_simple.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/repo_ops/test_path_prob.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/repo_ops/test_repo_context.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_anthropic_client_utils.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_memory.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_openai_utils.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_tools_basic.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_tools_file_ops.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_tools_files.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_tools_shell.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/test_tools_validation.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/__init__.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_command_validation.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_docker_operations.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_error_handling.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_execute_bash.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_file_operations.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_files/test1.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_files/test2.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_files/test_file.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_is_int.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_knowledge_transfer.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_large_blocks.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_render_terminal.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_terminal_output.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_user_interaction.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/client/tools/test_write_file.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/conftest.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_anthropic_client.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_basic.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_common.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_computer_use.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_computer_use_base.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_computer_use_shell.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_sys_utils.py +0 -0
- {wcgw-2.8.2 → wcgw-2.8.3}/tests/test_tools.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wcgw
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.3
|
|
4
4
|
Summary: Shell and coding agent on claude and chatgpt
|
|
5
5
|
Project-URL: Homepage, https://github.com/rusiaaman/wcgw
|
|
6
6
|
Author-email: Aman Rusia <gapypi@arcfu.com>
|
|
@@ -18,7 +18,7 @@ Requires-Dist: python-dotenv>=1.0.1
|
|
|
18
18
|
Requires-Dist: rich>=13.8.1
|
|
19
19
|
Requires-Dist: semantic-version>=2.10.0
|
|
20
20
|
Requires-Dist: shell>=1.0.1
|
|
21
|
-
Requires-Dist: syntax-checker
|
|
21
|
+
Requires-Dist: syntax-checker>=0.3.0
|
|
22
22
|
Requires-Dist: tokenizers>=0.21.0
|
|
23
23
|
Requires-Dist: toml>=0.10.2
|
|
24
24
|
Requires-Dist: typer>=0.12.5
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
authors = [{ name = "Aman Rusia", email = "gapypi@arcfu.com" }]
|
|
3
3
|
name = "wcgw"
|
|
4
|
-
version = "2.8.
|
|
4
|
+
version = "2.8.3"
|
|
5
5
|
description = "Shell and coding agent on claude and chatgpt"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
requires-python = ">=3.11, <3.13"
|
|
@@ -22,9 +22,9 @@ dependencies = [
|
|
|
22
22
|
"pydantic>=2.9.2",
|
|
23
23
|
"semantic-version>=2.10.0",
|
|
24
24
|
"anthropic>=0.39.0",
|
|
25
|
-
"syntax-checker==0.2.10",
|
|
26
25
|
"tokenizers>=0.21.0",
|
|
27
26
|
"pygit2>=1.16.0",
|
|
27
|
+
"syntax-checker>=0.3.0",
|
|
28
28
|
]
|
|
29
29
|
|
|
30
30
|
[project.urls]
|
|
@@ -151,7 +151,9 @@ def start_shell(is_restricted_mode: bool, initial_dir: str) -> pexpect.spawn: #
|
|
|
151
151
|
timeout=TIMEOUT,
|
|
152
152
|
cwd=initial_dir,
|
|
153
153
|
)
|
|
154
|
-
shell.sendline(
|
|
154
|
+
shell.sendline(
|
|
155
|
+
f"export PROMPT_COMMAND= PS1={PROMPT}"
|
|
156
|
+
) # Unset prompt command to avoid interfering
|
|
155
157
|
shell.expect(PROMPT, timeout=TIMEOUT)
|
|
156
158
|
except Exception as e:
|
|
157
159
|
console.print(traceback.format_exc())
|
|
@@ -440,6 +442,7 @@ def initialize(
|
|
|
440
442
|
if os.path.abspath(any_workspace_path):
|
|
441
443
|
os.makedirs(any_workspace_path, exist_ok=True)
|
|
442
444
|
repo_context = f"\nInfo: Workspace path {any_workspace_path} did not exist. I've created it for you.\n"
|
|
445
|
+
folder_to_start = Path(any_workspace_path)
|
|
443
446
|
else:
|
|
444
447
|
repo_context = (
|
|
445
448
|
f"\nInfo: Workspace path {any_workspace_path} does not exist."
|
|
@@ -229,7 +229,7 @@ class TestToolsExtended(unittest.TestCase):
|
|
|
229
229
|
|
|
230
230
|
# Verify shell initialization
|
|
231
231
|
self.assertEqual(mock_shell.expect.call_count, 4) # 4 setup commands
|
|
232
|
-
mock_shell.sendline.assert_any_call(f"export PS1={PROMPT}")
|
|
232
|
+
mock_shell.sendline.assert_any_call(f"export PROMPT_COMMAND= PS1={PROMPT}")
|
|
233
233
|
mock_shell.sendline.assert_any_call("stty -icanon -echo")
|
|
234
234
|
mock_shell.sendline.assert_any_call("set +o pipefail")
|
|
235
235
|
mock_shell.sendline.assert_any_call("export GIT_PAGER=cat PAGER=cat")
|