wcgw 5.4.4__py3-none-any.whl → 5.4.5__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 +5 -5
- {wcgw-5.4.4.dist-info → wcgw-5.4.5.dist-info}/METADATA +2 -1
- {wcgw-5.4.4.dist-info → wcgw-5.4.5.dist-info}/RECORD +6 -6
- {wcgw-5.4.4.dist-info → wcgw-5.4.5.dist-info}/WHEEL +0 -0
- {wcgw-5.4.4.dist-info → wcgw-5.4.5.dist-info}/entry_points.txt +0 -0
- {wcgw-5.4.4.dist-info → wcgw-5.4.5.dist-info}/licenses/LICENSE +0 -0
wcgw/client/tools.py
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import base64
|
|
2
|
-
import fnmatch
|
|
3
2
|
import glob
|
|
4
3
|
import json
|
|
5
4
|
import mimetypes
|
|
@@ -29,6 +28,7 @@ from openai.types.chat import (
|
|
|
29
28
|
from pydantic import BaseModel, TypeAdapter, ValidationError
|
|
30
29
|
from syntax_checker import Output as SCOutput
|
|
31
30
|
from syntax_checker import check_syntax as raw_check_syntax
|
|
31
|
+
from wcmatch import glob as wcglob
|
|
32
32
|
|
|
33
33
|
from ..client.bash_state.bash_state import (
|
|
34
34
|
BashState,
|
|
@@ -570,8 +570,8 @@ def write_file(
|
|
|
570
570
|
|
|
571
571
|
# Validate using write_if_empty_mode after checking whitelist
|
|
572
572
|
allowed_globs = context.bash_state.write_if_empty_mode.allowed_globs
|
|
573
|
-
if allowed_globs != "all" and not
|
|
574
|
-
|
|
573
|
+
if allowed_globs != "all" and not wcglob.globmatch(
|
|
574
|
+
path_, allowed_globs, flags=wcglob.GLOBSTAR
|
|
575
575
|
):
|
|
576
576
|
return (
|
|
577
577
|
f"Error: updating file {path_} not allowed in current mode. Doesn't match allowed globs: {allowed_globs}",
|
|
@@ -762,8 +762,8 @@ def _do_diff_edit(
|
|
|
762
762
|
|
|
763
763
|
# Validate using file_edit_mode
|
|
764
764
|
allowed_globs = context.bash_state.file_edit_mode.allowed_globs
|
|
765
|
-
if allowed_globs != "all" and not
|
|
766
|
-
|
|
765
|
+
if allowed_globs != "all" and not wcglob.globmatch(
|
|
766
|
+
path_, allowed_globs, flags=wcglob.GLOBSTAR
|
|
767
767
|
):
|
|
768
768
|
raise Exception(
|
|
769
769
|
f"Error: updating file {path_} not allowed in current mode. Doesn't match allowed globs: {allowed_globs}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wcgw
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.5
|
|
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>
|
|
@@ -26,6 +26,7 @@ Requires-Dist: tree-sitter-bash>=0.23.3
|
|
|
26
26
|
Requires-Dist: tree-sitter>=0.24.0
|
|
27
27
|
Requires-Dist: typer>=0.12.5
|
|
28
28
|
Requires-Dist: uvicorn>=0.31.0
|
|
29
|
+
Requires-Dist: wcmatch>=10.1
|
|
29
30
|
Requires-Dist: websockets>=13.1
|
|
30
31
|
Description-Content-Type: text/markdown
|
|
31
32
|
|
|
@@ -8,7 +8,7 @@ wcgw/client/memory.py,sha256=U2Nw2si3Zg7n_RhNAuaYcmrrDtZ_Mooi-kfAOKflT-I,3079
|
|
|
8
8
|
wcgw/client/modes.py,sha256=roH6SPBokJMr5IzAlccdI-vJyvyS5vqSMMyth7TE86A,10315
|
|
9
9
|
wcgw/client/schema_generator.py,sha256=mEIy6BgHlfJeAjJtwY_VwoIDmu-Fax2H9bVtj7IMuEo,2282
|
|
10
10
|
wcgw/client/tool_prompts.py,sha256=1EFQZeXlebOvrDb9t4g63FyzRWCnTwDzwrqwPHg-7sE,4757
|
|
11
|
-
wcgw/client/tools.py,sha256=
|
|
11
|
+
wcgw/client/tools.py,sha256=J_Ofbs7jBQXLfS4x9d7gZtTxNiaVbAmc0puCiyum9Ls,50038
|
|
12
12
|
wcgw/client/bash_state/bash_state.py,sha256=bd5RtLbaRzCtrmeDTl3JKZwzmIR-8iAMQpl7Fqyt56M,41918
|
|
13
13
|
wcgw/client/bash_state/parser/__init__.py,sha256=AnlNSmoQTSoqqlLOLX4P1uXfzc5VGeCGJsGgtisq2zE,207
|
|
14
14
|
wcgw/client/bash_state/parser/bash_statement_parser.py,sha256=9a8vPO1r3_tXmaAcubTQ5UY-NseWlalgm8LZA17LXuY,6058
|
|
@@ -31,8 +31,8 @@ wcgw_cli/anthropic_client.py,sha256=8bjDY59-aioyTJgpB-NBHZNhZaq6rqcTJcOf81kzCyA,
|
|
|
31
31
|
wcgw_cli/cli.py,sha256=-7FBe_lahKyUOhf65iurTA1M1gXXXAiT0OVKQVcZKKo,948
|
|
32
32
|
wcgw_cli/openai_client.py,sha256=GOqoSFazTV-cFjpdZGPM0DIwec8Up2TEcKUbsN40AGY,15990
|
|
33
33
|
wcgw_cli/openai_utils.py,sha256=xGOb3W5ALrIozV7oszfGYztpj0FnXdD7jAxm5lEIVKY,2439
|
|
34
|
-
wcgw-5.4.
|
|
35
|
-
wcgw-5.4.
|
|
36
|
-
wcgw-5.4.
|
|
37
|
-
wcgw-5.4.
|
|
38
|
-
wcgw-5.4.
|
|
34
|
+
wcgw-5.4.5.dist-info/METADATA,sha256=xyfj7lO9bVE6gJ8EKwkCHMwjkkZMQtRmojieBYyQ6y4,15888
|
|
35
|
+
wcgw-5.4.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
36
|
+
wcgw-5.4.5.dist-info/entry_points.txt,sha256=UnjK-MAH4Qssh0tGJDMeij1oi-oRKokItkknP_BwShE,94
|
|
37
|
+
wcgw-5.4.5.dist-info/licenses/LICENSE,sha256=BvY8xqjOfc3X2qZpGpX3MZEmF-4Dp0LqgKBbT6L_8oI,11142
|
|
38
|
+
wcgw-5.4.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|