wcgw 2.6.1__py3-none-any.whl → 2.6.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.

wcgw/client/tools.py CHANGED
@@ -1127,7 +1127,7 @@ TOOLS = (
1127
1127
 
1128
1128
 
1129
1129
  def which_tool(args: str) -> TOOLS:
1130
- adapter = TypeAdapter[TOOLS](TOOLS)
1130
+ adapter = TypeAdapter[TOOLS](TOOLS, config={"extra": "forbid"})
1131
1131
  return adapter.validate_python(json.loads(args))
1132
1132
 
1133
1133
 
@@ -1180,7 +1180,7 @@ def get_tool_output(
1180
1180
  ) -> tuple[list[str | ImageData | DoneFlag], float]:
1181
1181
  global IS_IN_DOCKER, TOOL_CALLS
1182
1182
  if isinstance(args, dict):
1183
- adapter = TypeAdapter[TOOLS](TOOLS)
1183
+ adapter = TypeAdapter[TOOLS](TOOLS, config={"extra": "forbid"})
1184
1184
  arg = adapter.validate_python(args)
1185
1185
  else:
1186
1186
  arg = args
wcgw/types_.py CHANGED
@@ -1,6 +1,14 @@
1
1
  from typing import Literal, Optional, Sequence
2
2
 
3
- from pydantic import BaseModel
3
+ from pydantic import BaseModel as PydanticBaseModel
4
+
5
+
6
+ class NoExtraArgs(PydanticBaseModel):
7
+ class Config:
8
+ extra = "forbid"
9
+
10
+
11
+ BaseModel = NoExtraArgs
4
12
 
5
13
 
6
14
  class BashCommand(BaseModel):
@@ -14,7 +22,6 @@ Specials = Literal[
14
22
 
15
23
 
16
24
  class BashInteraction(BaseModel):
17
- type: Literal["BashInteraction"]
18
25
  send_text: Optional[str] = None
19
26
  send_specials: Optional[Sequence[Specials]] = None
20
27
  send_ascii: Optional[Sequence[int]] = None
@@ -23,7 +30,6 @@ class BashInteraction(BaseModel):
23
30
 
24
31
  class ReadImage(BaseModel):
25
32
  file_path: str
26
- type: Literal["ReadImage"]
27
33
 
28
34
 
29
35
  class WriteIfEmpty(BaseModel):
@@ -33,7 +39,6 @@ class WriteIfEmpty(BaseModel):
33
39
 
34
40
  class ReadFiles(BaseModel):
35
41
  file_paths: list[str]
36
- type: Literal["ReadFiles"]
37
42
 
38
43
 
39
44
  class FileEditFindReplace(BaseModel):
@@ -52,18 +57,15 @@ class FileEdit(BaseModel):
52
57
 
53
58
 
54
59
  class Initialize(BaseModel):
55
- type: Literal["Initialize"]
56
60
  any_workspace_path: str
57
61
  initial_files_to_read: list[str]
58
62
 
59
63
 
60
64
  class GetScreenInfo(BaseModel):
61
- type: Literal["GetScreenInfo"]
62
65
  docker_image_id: str
63
66
 
64
67
 
65
68
  class ScreenShot(BaseModel):
66
- type: Literal["ScreenShot"]
67
69
  take_after_delay_seconds: int
68
70
 
69
71
 
@@ -71,7 +73,6 @@ class MouseMove(BaseModel):
71
73
  x: int
72
74
  y: int
73
75
  do_left_click_on_move: bool
74
- type: Literal["MouseMove"]
75
76
 
76
77
 
77
78
  class LeftClickDrag(BaseModel):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wcgw
3
- Version: 2.6.1
3
+ Version: 2.6.2
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>
@@ -41,6 +41,7 @@ Description-Content-Type: text/markdown
41
41
  [![codecov](https://codecov.io/gh/rusiaaman/wcgw/graph/badge.svg)](https://codecov.io/gh/rusiaaman/wcgw)
42
42
 
43
43
  ## Updates
44
+ - [29 Dec 2024] Syntax checking on file writing and edits is now stable. Made `initialize` tool call useful; sending smart repo structure to claude if any repo is referenced. Large file handling is also now improved.
44
45
 
45
46
  - [9 Dec 2024] [Vscode extension to paste context on Claude app](https://marketplace.visualstudio.com/items?itemName=AmanRusia.wcgw)
46
47
 
@@ -1,5 +1,5 @@
1
1
  wcgw/__init__.py,sha256=9K2QW7QuSLhMTVbKbBYd9UUp-ZyrfBrxcjuD_xk458k,118
2
- wcgw/types_.py,sha256=PJpnzF_TJ_L-AhruPlfD-zkGYj0_YEUAXTbvOtb_Zpo,1891
2
+ wcgw/types_.py,sha256=pi976GyRLBKeCcpqNmVm5tI0iXO4okkkUGDa41ITr50,1792
3
3
  wcgw/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  wcgw/client/__main__.py,sha256=wcCrL4PjG51r5wVKqJhcoJPTLfHW0wNbD31DrUN0MWI,28
5
5
  wcgw/client/anthropic_client.py,sha256=kmS93LEVwXCppfbgCsfWe_SVmTAtsI3x8PrP8DJDYMY,21041
@@ -10,7 +10,7 @@ wcgw/client/diff-instructions.txt,sha256=s5AJKG23JsjwRYhFZFQVvwDpF67vElawrmdXwvu
10
10
  wcgw/client/openai_client.py,sha256=AP0B-fKNNlYCAEL0MrT3UxeCcvca7jJZp9kYkinUqSM,17706
11
11
  wcgw/client/openai_utils.py,sha256=KfMB1-p2zDiA7pPWwAVarochf7-qeL1UMgtlDV9DtKA,2662
12
12
  wcgw/client/sys_utils.py,sha256=GajPntKhaTUMn6EOmopENWZNR2G_BJyuVbuot0x6veI,1376
13
- wcgw/client/tools.py,sha256=oJ9Zg03CEbzMh8NXQc1lfZQv8C46jQ24PRXGYMiHJ9k,47987
13
+ wcgw/client/tools.py,sha256=JU-bZSJlqYapguXqA2sTamgTefmMYP3HpUTI2yXoqKU,48043
14
14
  wcgw/client/mcp_server/Readme.md,sha256=I8N4dHkTUVGNQ63BQkBMBhCCBTgqGOSF_pUR6iOEiUk,2495
15
15
  wcgw/client/mcp_server/__init__.py,sha256=hyPPwO9cabAJsOMWhKyat9yl7OlSmIobaoAZKHu3DMc,381
16
16
  wcgw/client/mcp_server/server.py,sha256=bhswcJQt2jWIwVcQRrEaa9E6LkuE_vK7fNG51bsV4hw,12414
@@ -43,8 +43,8 @@ mcp_wcgw/shared/memory.py,sha256=dBsOghxHz8-tycdSVo9kSujbsC8xb_tYsGmuJobuZnw,281
43
43
  mcp_wcgw/shared/progress.py,sha256=ymxOsb8XO5Mhlop7fRfdbmvPodANj7oq6O4dD0iUcnw,1048
44
44
  mcp_wcgw/shared/session.py,sha256=e44a0LQOW8gwdLs9_DE9oDsxqW2U8mXG3d5KT95bn5o,10393
45
45
  mcp_wcgw/shared/version.py,sha256=d2LZii-mgsPIxpshjkXnOTUmk98i0DT4ff8VpA_kAvE,111
46
- wcgw-2.6.1.dist-info/METADATA,sha256=AY-QOt4XUDIE6Pd7axFCXgSj25XkI9k9gsJCz3LHxjM,6762
47
- wcgw-2.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
48
- wcgw-2.6.1.dist-info/entry_points.txt,sha256=eKo1omwbAggWlQ0l7GKoR7uV1-j16nk9tK0BhC2Oz_E,120
49
- wcgw-2.6.1.dist-info/licenses/LICENSE,sha256=BvY8xqjOfc3X2qZpGpX3MZEmF-4Dp0LqgKBbT6L_8oI,11142
50
- wcgw-2.6.1.dist-info/RECORD,,
46
+ wcgw-2.6.2.dist-info/METADATA,sha256=o8ZxaCTFXNBmv11mIMW5t0IS5s0GTYD_Hl7u_bzYZoU,6979
47
+ wcgw-2.6.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
48
+ wcgw-2.6.2.dist-info/entry_points.txt,sha256=eKo1omwbAggWlQ0l7GKoR7uV1-j16nk9tK0BhC2Oz_E,120
49
+ wcgw-2.6.2.dist-info/licenses/LICENSE,sha256=BvY8xqjOfc3X2qZpGpX3MZEmF-4Dp0LqgKBbT6L_8oI,11142
50
+ wcgw-2.6.2.dist-info/RECORD,,
File without changes