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 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 any(
574
- fnmatch.fnmatch(path_, pattern) for pattern in allowed_globs
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 any(
766
- fnmatch.fnmatch(path_, pattern) for pattern in allowed_globs
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.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=mW0voWa3PQ1vGmhMKpoVm4z3FOP033v0tr2RLm56G9E,50026
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.4.dist-info/METADATA,sha256=wjN1GqRkY_xC0g9E7y_sqDKX4MSQRPB0tpxy5Lf-_Dg,15859
35
- wcgw-5.4.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
36
- wcgw-5.4.4.dist-info/entry_points.txt,sha256=UnjK-MAH4Qssh0tGJDMeij1oi-oRKokItkknP_BwShE,94
37
- wcgw-5.4.4.dist-info/licenses/LICENSE,sha256=BvY8xqjOfc3X2qZpGpX3MZEmF-4Dp0LqgKBbT6L_8oI,11142
38
- wcgw-5.4.4.dist-info/RECORD,,
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