wcgw 2.4.0__tar.gz → 2.4.1__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.4.0 → wcgw-2.4.1}/.github/workflows/python-tests.yml +3 -4
- {wcgw-2.4.0 → wcgw-2.4.1}/PKG-INFO +2 -2
- {wcgw-2.4.0 → wcgw-2.4.1}/pyproject.toml +3 -3
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/mcp_server/server.py +6 -6
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/tools.py +1 -1
- {wcgw-2.4.0 → wcgw-2.4.1}/uv.lock +25 -26
- {wcgw-2.4.0 → wcgw-2.4.1}/.github/workflows/python-publish.yml +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/.github/workflows/python-types.yml +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/.gitignore +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/.python-version +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/.vscode/settings.json +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/README.md +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/gpt_action_json_schema.json +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/gpt_instructions.txt +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/openai.md +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/__init__.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/__init__.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/__init__.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/__main__.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/anthropic_client.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/cli.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/common.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/computer_use.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/diff-instructions.txt +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/mcp_server/Readme.md +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/mcp_server/__init__.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/openai_client.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/openai_utils.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/client/sys_utils.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/relay/serve.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/relay/static/privacy.txt +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/src/wcgw/types_.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/static/claude-ss.jpg +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/static/computer-use.jpg +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/static/example.jpg +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/static/rocket-icon.png +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/static/ss1.png +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/tests/test_basic.py +0 -0
- {wcgw-2.4.0 → wcgw-2.4.1}/tests/test_tools.py +0 -0
|
@@ -22,9 +22,8 @@ jobs:
|
|
|
22
22
|
python-version: "${{ matrix.python-version }}"
|
|
23
23
|
- name: Install dependencies
|
|
24
24
|
run: |
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
pip install .[dev] # Installs dependencies based on pyproject.toml
|
|
25
|
+
pip install uv
|
|
26
|
+
uv venv --python "${{ matrix.python-version }}"
|
|
28
27
|
- name: Run tests
|
|
29
28
|
run: |
|
|
30
|
-
python -m unittest discover -s tests
|
|
29
|
+
uv run python -m unittest discover -s tests
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wcgw
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.1
|
|
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>
|
|
@@ -8,7 +8,7 @@ Requires-Python: <3.13,>=3.11
|
|
|
8
8
|
Requires-Dist: anthropic>=0.39.0
|
|
9
9
|
Requires-Dist: fastapi>=0.115.0
|
|
10
10
|
Requires-Dist: humanize>=4.11.0
|
|
11
|
-
Requires-Dist: mcp
|
|
11
|
+
Requires-Dist: mcp-wcgw
|
|
12
12
|
Requires-Dist: openai>=1.46.0
|
|
13
13
|
Requires-Dist: petname>=2.6
|
|
14
14
|
Requires-Dist: pexpect>=4.9.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
authors = [{ name = "Aman Rusia", email = "gapypi@arcfu.com" }]
|
|
3
3
|
name = "wcgw"
|
|
4
|
-
version = "2.4.
|
|
4
|
+
version = "2.4.1"
|
|
5
5
|
description = "Shell and coding agent on claude and chatgpt"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
requires-python = ">=3.11, <3.13"
|
|
@@ -24,8 +24,8 @@ dependencies = [
|
|
|
24
24
|
"semantic-version>=2.10.0",
|
|
25
25
|
"anthropic>=0.39.0",
|
|
26
26
|
"humanize>=4.11.0",
|
|
27
|
-
"mcp",
|
|
28
27
|
"syntax-checker==0.2.10",
|
|
28
|
+
"mcp-wcgw",
|
|
29
29
|
]
|
|
30
30
|
|
|
31
31
|
[project.urls]
|
|
@@ -51,4 +51,4 @@ dev-dependencies = [
|
|
|
51
51
|
]
|
|
52
52
|
|
|
53
53
|
[tool.uv.sources]
|
|
54
|
-
mcp = { git = "https://github.com/rusiaaman/python-sdk", rev =
|
|
54
|
+
mcp-wcgw = { git = "https://github.com/rusiaaman/python-sdk.git", rev = '7469d1596e4cbdf2bd0a164eefca8182cd2687eb' }
|
|
@@ -6,12 +6,12 @@ import sys
|
|
|
6
6
|
import traceback
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
import
|
|
11
|
-
from
|
|
12
|
-
from
|
|
9
|
+
from mcp_wcgw.server.models import InitializationOptions
|
|
10
|
+
import mcp_wcgw.types as types
|
|
11
|
+
from mcp_wcgw.types import Tool as ToolParam
|
|
12
|
+
from mcp_wcgw.server import NotificationOptions, Server
|
|
13
13
|
from pydantic import AnyUrl, BaseModel, ValidationError
|
|
14
|
-
import
|
|
14
|
+
import mcp_wcgw.server.stdio
|
|
15
15
|
from .. import tools
|
|
16
16
|
from ..tools import DoneFlag, get_tool_output, which_tool_name, default_enc
|
|
17
17
|
from ...types_ import (
|
|
@@ -282,7 +282,7 @@ async def main(computer_use: bool) -> None:
|
|
|
282
282
|
|
|
283
283
|
version = importlib.metadata.version("wcgw")
|
|
284
284
|
# Run the server using stdin/stdout streams
|
|
285
|
-
async with
|
|
285
|
+
async with mcp_wcgw.server.stdio.stdio_server() as (read_stream, write_stream):
|
|
286
286
|
await server.run(
|
|
287
287
|
read_stream,
|
|
288
288
|
write_stream,
|
|
@@ -498,7 +498,7 @@ def execute_bash(
|
|
|
498
498
|
BASH_STATE.shell.expect(PROMPT)
|
|
499
499
|
return "---\n\nFailure: user interrupted the execution", 0.0
|
|
500
500
|
|
|
501
|
-
wait = timeout_s or TIMEOUT
|
|
501
|
+
wait = min(timeout_s or TIMEOUT, TIMEOUT_WHILE_OUTPUT)
|
|
502
502
|
index = BASH_STATE.shell.expect([PROMPT, pexpect.TIMEOUT], timeout=wait)
|
|
503
503
|
if index == 1:
|
|
504
504
|
text = BASH_STATE.shell.before or ""
|
|
@@ -251,7 +251,7 @@ wheels = [
|
|
|
251
251
|
|
|
252
252
|
[[package]]
|
|
253
253
|
name = "ipython"
|
|
254
|
-
version = "8.
|
|
254
|
+
version = "8.31.0"
|
|
255
255
|
source = { registry = "https://pypi.org/simple" }
|
|
256
256
|
dependencies = [
|
|
257
257
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
@@ -265,9 +265,9 @@ dependencies = [
|
|
|
265
265
|
{ name = "traitlets" },
|
|
266
266
|
{ name = "typing-extensions", marker = "python_full_version < '3.12'" },
|
|
267
267
|
]
|
|
268
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
268
|
+
sdist = { url = "https://files.pythonhosted.org/packages/01/35/6f90fdddff7a08b7b715fccbd2427b5212c9525cd043d26fdc45bee0708d/ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b", size = 5501011 }
|
|
269
269
|
wheels = [
|
|
270
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
270
|
+
{ url = "https://files.pythonhosted.org/packages/04/60/d0feb6b6d9fe4ab89fe8fe5b47cbf6cd936bfd9f1e7ffa9d0015425aeed6/ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6", size = 821583 },
|
|
271
271
|
]
|
|
272
272
|
|
|
273
273
|
[[package]]
|
|
@@ -339,9 +339,9 @@ wheels = [
|
|
|
339
339
|
]
|
|
340
340
|
|
|
341
341
|
[[package]]
|
|
342
|
-
name = "mcp"
|
|
343
|
-
version = "1.
|
|
344
|
-
source = { git = "https://github.com/rusiaaman/python-sdk?rev=
|
|
342
|
+
name = "mcp-wcgw"
|
|
343
|
+
version = "1.1.2.dev0"
|
|
344
|
+
source = { git = "https://github.com/rusiaaman/python-sdk.git?rev=7469d1596e4cbdf2bd0a164eefca8182cd2687eb#7469d1596e4cbdf2bd0a164eefca8182cd2687eb" }
|
|
345
345
|
dependencies = [
|
|
346
346
|
{ name = "anyio" },
|
|
347
347
|
{ name = "httpx" },
|
|
@@ -362,25 +362,25 @@ wheels = [
|
|
|
362
362
|
|
|
363
363
|
[[package]]
|
|
364
364
|
name = "mypy"
|
|
365
|
-
version = "1.
|
|
365
|
+
version = "1.14.0"
|
|
366
366
|
source = { registry = "https://pypi.org/simple" }
|
|
367
367
|
dependencies = [
|
|
368
368
|
{ name = "mypy-extensions" },
|
|
369
369
|
{ name = "typing-extensions" },
|
|
370
370
|
]
|
|
371
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
371
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8c/7b/08046ef9330735f536a09a2e31b00f42bccdb2795dcd979636ba43bb2d63/mypy-1.14.0.tar.gz", hash = "sha256:822dbd184d4a9804df5a7d5335a68cf7662930e70b8c1bc976645d1509f9a9d6", size = 3215684 }
|
|
372
372
|
wheels = [
|
|
373
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
374
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
375
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
376
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
377
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
378
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
379
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
380
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
381
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
382
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
383
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
373
|
+
{ url = "https://files.pythonhosted.org/packages/34/c1/b9dd3e955953aec1c728992545b7877c9f6fa742a623ce4c200da0f62540/mypy-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6e73c8a154eed31db3445fe28f63ad2d97b674b911c00191416cf7f6459fd49a", size = 11121032 },
|
|
374
|
+
{ url = "https://files.pythonhosted.org/packages/ee/96/c52d5d516819ab95bf41f4a1ada828a3decc302f8c152ff4fc5feb0e4529/mypy-1.14.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:273e70fcb2e38c5405a188425aa60b984ffdcef65d6c746ea5813024b68c73dc", size = 10286294 },
|
|
375
|
+
{ url = "https://files.pythonhosted.org/packages/69/2c/3dbe51877a24daa467f8d8631f9ffd1aabbf0f6d9367a01c44a59df81fe0/mypy-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1daca283d732943731a6a9f20fdbcaa927f160bc51602b1d4ef880a6fb252015", size = 12746528 },
|
|
376
|
+
{ url = "https://files.pythonhosted.org/packages/a1/a8/eb20cde4ba9c4c3e20d958918a7c5d92210f4d1a0200c27de9a641f70996/mypy-1.14.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7e68047bedb04c1c25bba9901ea46ff60d5eaac2d71b1f2161f33107e2b368eb", size = 12883489 },
|
|
377
|
+
{ url = "https://files.pythonhosted.org/packages/91/17/a1fc6c70f31d52c99299320cf81c3cb2c6b91ec7269414e0718a6d138e34/mypy-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:7a52f26b9c9b1664a60d87675f3bae00b5c7f2806e0c2800545a32c325920bcc", size = 9780113 },
|
|
378
|
+
{ url = "https://files.pythonhosted.org/packages/fe/d8/0e72175ee0253217f5c44524f5e95251c02e95ba9749fb87b0e2074d203a/mypy-1.14.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d5326ab70a6db8e856d59ad4cb72741124950cbbf32e7b70e30166ba7bbf61dd", size = 11269011 },
|
|
379
|
+
{ url = "https://files.pythonhosted.org/packages/e9/6d/4ea13839dabe5db588dc6a1b766da16f420d33cf118a7b7172cdf6c7fcb2/mypy-1.14.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bf4ec4980bec1e0e24e5075f449d014011527ae0055884c7e3abc6a99cd2c7f1", size = 10253076 },
|
|
380
|
+
{ url = "https://files.pythonhosted.org/packages/3e/38/7db2c5d0f4d290e998f7a52b2e2616c7bbad96b8e04278ab09d11978a29e/mypy-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:390dfb898239c25289495500f12fa73aa7f24a4c6d90ccdc165762462b998d63", size = 12862786 },
|
|
381
|
+
{ url = "https://files.pythonhosted.org/packages/bf/4b/62d59c801b34141040989949c2b5c157d0408b45357335d3ec5b2845b0f6/mypy-1.14.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7e026d55ddcd76e29e87865c08cbe2d0104e2b3153a523c529de584759379d3d", size = 12971568 },
|
|
382
|
+
{ url = "https://files.pythonhosted.org/packages/f1/9c/e0f281b32d70c87b9e4d2939e302b1ff77ada4d7b0f2fb32890c144bc1d6/mypy-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:585ed36031d0b3ee362e5107ef449a8b5dfd4e9c90ccbe36414ee405ee6b32ba", size = 9879477 },
|
|
383
|
+
{ url = "https://files.pythonhosted.org/packages/39/32/0214608af400cdf8f5102144bb8af10d880675c65ed0b58f7e0e77175d50/mypy-1.14.0-py3-none-any.whl", hash = "sha256:2238d7f93fc4027ed1efc944507683df3ba406445a2b6c96e79666a045aadfab", size = 2752803 },
|
|
384
384
|
]
|
|
385
385
|
|
|
386
386
|
[[package]]
|
|
@@ -673,16 +673,15 @@ wheels = [
|
|
|
673
673
|
|
|
674
674
|
[[package]]
|
|
675
675
|
name = "sse-starlette"
|
|
676
|
-
version = "2.
|
|
676
|
+
version = "2.2.0"
|
|
677
677
|
source = { registry = "https://pypi.org/simple" }
|
|
678
678
|
dependencies = [
|
|
679
679
|
{ name = "anyio" },
|
|
680
680
|
{ name = "starlette" },
|
|
681
|
-
{ name = "uvicorn" },
|
|
682
681
|
]
|
|
683
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
682
|
+
sdist = { url = "https://files.pythonhosted.org/packages/81/71/7532e5d872a19a2d43c47999b5bb602ddf43d0d5bafa2fb7c0ed35cdf5bc/sse_starlette-2.2.0.tar.gz", hash = "sha256:2be010484d29a0a1ac6b5ae72610ada3bb00f1be0ef0048a8b87f9dba1e99fcb", size = 20584 }
|
|
684
683
|
wheels = [
|
|
685
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
684
|
+
{ url = "https://files.pythonhosted.org/packages/d4/ba/2a9b98ee28333c32172ccd29c71134b5bee523c7cd55427ed73da403155c/sse_starlette-2.2.0-py3-none-any.whl", hash = "sha256:b923c0417f96061c4cbf67ebb9f0ae178264abfb6a07c28e1ca8192e18e0361c", size = 10098 },
|
|
686
685
|
]
|
|
687
686
|
|
|
688
687
|
[[package]]
|
|
@@ -866,13 +865,13 @@ wheels = [
|
|
|
866
865
|
|
|
867
866
|
[[package]]
|
|
868
867
|
name = "wcgw"
|
|
869
|
-
version = "2.4.
|
|
868
|
+
version = "2.4.1"
|
|
870
869
|
source = { editable = "." }
|
|
871
870
|
dependencies = [
|
|
872
871
|
{ name = "anthropic" },
|
|
873
872
|
{ name = "fastapi" },
|
|
874
873
|
{ name = "humanize" },
|
|
875
|
-
{ name = "mcp" },
|
|
874
|
+
{ name = "mcp-wcgw" },
|
|
876
875
|
{ name = "openai" },
|
|
877
876
|
{ name = "petname" },
|
|
878
877
|
{ name = "pexpect" },
|
|
@@ -905,7 +904,7 @@ requires-dist = [
|
|
|
905
904
|
{ name = "anthropic", specifier = ">=0.39.0" },
|
|
906
905
|
{ name = "fastapi", specifier = ">=0.115.0" },
|
|
907
906
|
{ name = "humanize", specifier = ">=4.11.0" },
|
|
908
|
-
{ name = "mcp", git = "https://github.com/rusiaaman/python-sdk?rev=
|
|
907
|
+
{ name = "mcp-wcgw", git = "https://github.com/rusiaaman/python-sdk.git?rev=7469d1596e4cbdf2bd0a164eefca8182cd2687eb" },
|
|
909
908
|
{ name = "openai", specifier = ">=1.46.0" },
|
|
910
909
|
{ name = "petname", specifier = ">=2.6" },
|
|
911
910
|
{ name = "pexpect", specifier = ">=4.9.0" },
|
|
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
|