tweek 0.4.1__py3-none-any.whl → 0.4.3__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.
Files changed (37) hide show
  1. tweek/__init__.py +1 -1
  2. tweek/cli_core.py +23 -6
  3. tweek/cli_install.py +439 -105
  4. tweek/cli_uninstall.py +119 -36
  5. tweek/config/families.yaml +13 -0
  6. tweek/config/models.py +31 -3
  7. tweek/config/patterns.yaml +126 -2
  8. tweek/diagnostics.py +124 -1
  9. tweek/hooks/break_glass.py +70 -47
  10. tweek/hooks/overrides.py +19 -1
  11. tweek/hooks/post_tool_use.py +6 -2
  12. tweek/hooks/pre_tool_use.py +19 -2
  13. tweek/hooks/wrapper_post_tool_use.py +121 -0
  14. tweek/hooks/wrapper_pre_tool_use.py +121 -0
  15. tweek/integrations/openclaw.py +70 -60
  16. tweek/integrations/openclaw_detection.py +140 -0
  17. tweek/integrations/openclaw_server.py +359 -86
  18. tweek/logging/security_log.py +22 -0
  19. tweek/memory/safety.py +7 -3
  20. tweek/memory/store.py +31 -10
  21. tweek/plugins/base.py +9 -1
  22. tweek/plugins/detectors/openclaw.py +31 -92
  23. tweek/plugins/screening/heuristic_scorer.py +12 -1
  24. tweek/plugins/screening/local_model_reviewer.py +9 -0
  25. tweek/security/language.py +2 -1
  26. tweek/security/llm_reviewer.py +45 -18
  27. tweek/security/local_model.py +21 -0
  28. tweek/security/model_registry.py +2 -2
  29. tweek/security/rate_limiter.py +99 -1
  30. tweek/skills/guard.py +30 -7
  31. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/METADATA +1 -1
  32. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/RECORD +37 -34
  33. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/WHEEL +0 -0
  34. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/entry_points.txt +0 -0
  35. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/licenses/LICENSE +0 -0
  36. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/licenses/NOTICE +0 -0
  37. {tweek-0.4.1.dist-info → tweek-0.4.3.dist-info}/top_level.txt +0 -0
tweek/skills/guard.py CHANGED
@@ -36,19 +36,19 @@ PROTECTED_SKILL_PATHS = [
36
36
 
37
37
  # Regex patterns for detecting skill-related shell commands
38
38
  _SKILL_DIR_PATTERNS = [
39
- # Moving/copying out of jail
39
+ # Moving/copying out of jail (expanded tool list)
40
40
  re.compile(
41
- r"(cp|mv|rsync|ln)\s+.*\.tweek/skills/(jail|chamber)",
41
+ r"(cp|mv|rsync|ln|install|dd|tee)\s+.*\.tweek/skills/(jail|chamber)",
42
42
  re.IGNORECASE,
43
43
  ),
44
- # Moving/copying into Claude's skill directories
44
+ # Moving/copying into Claude's skill directories (expanded tool list)
45
45
  re.compile(
46
- r"(cp|mv|rsync|ln)\s+.*\.claude/skills/",
46
+ r"(cp|mv|rsync|ln|install|dd|tee)\s+.*\.claude/skills/",
47
47
  re.IGNORECASE,
48
48
  ),
49
- # Moving/copying into OpenClaw's skill directories
49
+ # Moving/copying into OpenClaw's skill directories (expanded tool list)
50
50
  re.compile(
51
- r"(cp|mv|rsync|ln)\s+.*\.openclaw/workspace/skills/",
51
+ r"(cp|mv|rsync|ln|install|dd|tee)\s+.*\.openclaw/workspace/skills/",
52
52
  re.IGNORECASE,
53
53
  ),
54
54
  # Symlink attacks targeting skill directories
@@ -64,7 +64,7 @@ _SKILL_DIR_PATTERNS = [
64
64
  r"ln\s+(-sf?\s+)?.*\.openclaw/workspace/skills",
65
65
  re.IGNORECASE,
66
66
  ),
67
- # Direct creation of SKILL.md via shell
67
+ # Direct creation of SKILL.md via shell (redirect)
68
68
  re.compile(
69
69
  r"(echo|cat|tee|printf)\s+.*>\s*.*\.claude/skills/.*SKILL\.md",
70
70
  re.IGNORECASE,
@@ -73,6 +73,29 @@ _SKILL_DIR_PATTERNS = [
73
73
  r"(echo|cat|tee|printf)\s+.*>\s*.*\.openclaw/workspace/skills/.*SKILL\.md",
74
74
  re.IGNORECASE,
75
75
  ),
76
+ # Pipe-to-tee targeting skill directories
77
+ re.compile(
78
+ r"\|\s*tee\s+.*\.(claude|tweek|openclaw).*skills",
79
+ re.IGNORECASE,
80
+ ),
81
+ # Interpreter one-liner writes targeting skill directories
82
+ re.compile(
83
+ r"python3?\s+-c\s+.*open\s*\(.*\.(claude|tweek|openclaw).*skills",
84
+ re.IGNORECASE,
85
+ ),
86
+ re.compile(
87
+ r"perl\s+-e\s+.*open\s*\(.*\.(claude|tweek|openclaw).*skills",
88
+ re.IGNORECASE,
89
+ ),
90
+ re.compile(
91
+ r"ruby\s+-e\s+.*File\.(write|open).*\.(claude|tweek|openclaw).*skills",
92
+ re.IGNORECASE,
93
+ ),
94
+ # Shell variable substitution targeting skill directories
95
+ re.compile(
96
+ r"\$(\(|HOME|{).*\.(claude|tweek|openclaw).*skills/(jail|chamber)",
97
+ re.IGNORECASE,
98
+ ),
76
99
  ]
77
100
 
78
101
  # Patterns for detecting skill downloads
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tweek
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: Defense-in-depth security for AI coding assistants - protect credentials, code, and system from prompt injection attacks
5
5
  Author: Tommy Mancino
6
6
  License-Expression: Apache-2.0
@@ -1,13 +1,13 @@
1
- tweek/__init__.py,sha256=Yok2ar0ngfNDc-NyYeDnL5rfwdj_htDZ0SX9sUqD1lY,359
1
+ tweek/__init__.py,sha256=UIwNpJC_gnvm1PUxLmQpu9t5ZrlDpSn_-ehenv2ztt8,359
2
2
  tweek/_keygen.py,sha256=UapwIKNSwaRWdqHoJoF3hmKuiux6aIiFGe8WVskTbI8,1286
3
3
  tweek/audit.py,sha256=AzjIpy6Jc-WzTrda9lb3nZbyaR_SDWUxo04pObJP2MQ,8868
4
4
  tweek/cli.py,sha256=OOZrpcrwDGbmaHxIyvBw7MoVSlEdrFNAgIwWHI56p5M,2976
5
5
  tweek/cli_config.py,sha256=rSQTkw0JAqm6w02Ah2_hiJ-wIxhnrjTgvFuw2A39qfs,24525
6
6
  tweek/cli_configure.py,sha256=fHm2sWxjUWFu7ulup7T-zrQ3LYiYg_1Vf-m3E5hoKd8,14603
7
- tweek/cli_core.py,sha256=0mgcJ_ZduuloOhyIn4ecTHROMtz_pDcAdlew-E45DPk,26843
7
+ tweek/cli_core.py,sha256=sq-zIX_rrDB3KsaLcehsYHKUsAQrqHwsAvHgxN7iHiQ,27643
8
8
  tweek/cli_dry_run.py,sha256=8DBx3qKAZHY8VA6MsbsGBs6EyDGFxKsrtmuNaHJ22C8,14335
9
9
  tweek/cli_helpers.py,sha256=_8aVj8e67MrP61ao7_AaEQSi9AfJQxW3eNvnjbSWT7g,16347
10
- tweek/cli_install.py,sha256=5AaxZmOpDk9y8Ursy_CaU8JYn4mtMPWNtIhWNpb6an8,74111
10
+ tweek/cli_install.py,sha256=Xip9eH45J-OFRcUPFowf6LEb4DZ6eDw5FyuVj6MED8U,88377
11
11
  tweek/cli_logs.py,sha256=uoJBKb85EYcIQnXxNfh15w235u9UWP1he-RlwnITWuA,10776
12
12
  tweek/cli_mcp.py,sha256=mIKTUqTKLlVYc9054LdjfL-maiVAabPFkb_sLtoS0Gk,4787
13
13
  tweek/cli_memory.py,sha256=Sw2TOt7RGsXBoH_q13bQjUK3WyvOy49bXefZ7atoaCY,11895
@@ -17,16 +17,16 @@ tweek/cli_protect.py,sha256=q6VhmR2vnozdybUXJEnaofx0FVZSoQq39gWVh5xmjnc,22398
17
17
  tweek/cli_proxy.py,sha256=J63CuL0bg2UVHbdavDgIcqiC1C8JS0kNG8pqHEAx9mw,14289
18
18
  tweek/cli_security.py,sha256=FpPOY0YsSY5kOc9aNy8QBi9h4fpmQ7wiX3cKtRYmLzg,8482
19
19
  tweek/cli_skills.py,sha256=N2D184i5gajKjrLdQuWxhdiXWGiE4NGCvPahMDZvliI,9045
20
- tweek/cli_uninstall.py,sha256=sRDbtYxbJ9fnt-fBypEZOCR_UdTTo09RozOI_Xlo1Dc,21463
20
+ tweek/cli_uninstall.py,sha256=H6y7QgEMw_sCCerNCJHws4XI727H4UPtiwtjx5ASL88,24619
21
21
  tweek/cli_vault.py,sha256=j2HUurcOCOUgObfnSiMrcJQ8k3BUs1aD-YqCNZzp98I,11457
22
- tweek/diagnostics.py,sha256=aYtdLeTulbYF3KzIt-oqTDucYNJrBL85rsPXlPM07bg,27487
22
+ tweek/diagnostics.py,sha256=_7CYp6kLrS4iaA_101MAWhcO-yoFtQulCmXR5vt22EQ,31996
23
23
  tweek/licensing.py,sha256=_t_X3wgd6F0VEoLrOags-AE2k3IZXw3WhWXFuQU4UYA,11703
24
24
  tweek/config/__init__.py,sha256=ENwimeLZd2gSJXpkASMY45hbMUDn2RwM-Zl_RMvpCbQ,772
25
25
  tweek/config/allowed_dirs.yaml,sha256=eHmX3QEJ-LBVdwH5tQBFeTFnlRewLvRG2jLJwBh3lOY,841
26
- tweek/config/families.yaml,sha256=QAQD-6pnCOdiNXpXUPyeAKkYMlRcQmUpCMORkDeGA1Y,18348
26
+ tweek/config/families.yaml,sha256=4MhJ2ikd1lK6EAbdRtjE083MX2-CD6mInvwiI7nJcIE,18796
27
27
  tweek/config/manager.py,sha256=cs77QiAShd91RTMGxKgWUmz7qluRfQq0PogCpfxUAPA,41256
28
- tweek/config/models.py,sha256=RbVjC2pxnkrBKanS6QGDrHwPVkmss5ouG_dqAHf_C3Q,10018
29
- tweek/config/patterns.yaml,sha256=5HHLGGCb0KmEAEo9KPc3eja0ykYjy53x66D-u7WY6No,86749
28
+ tweek/config/models.py,sha256=wrQGSZGVCJ5-ue5JdxGM0raMGYoo61btKhb_IEgWNb8,11157
29
+ tweek/config/patterns.yaml,sha256=N77_xaPFeXOTCCpSIGaXlGh3h_E-YA2F6xyII5ks9mU,90742
30
30
  tweek/config/templates.py,sha256=aIGD3bDfx-J6vVBKQTNZr3IIh-O9yjcddRB8l1BxZPs,4440
31
31
  tweek/config/tiers.yaml,sha256=gVQ80iOqirHzlJI9YEzpi6alqqmNtNNZh1nA4DQYPPs,10298
32
32
  tweek/config/templates/config.yaml.template,sha256=i3QGrIuNjF9kqJNoMJmr62mja_8Rh9gMsc-YM6YzNSE,9120
@@ -34,18 +34,21 @@ tweek/config/templates/env.template,sha256=MCnGhE6WHU5Bk9HO6dkPfBtkur2QyK69cxzHU
34
34
  tweek/config/templates/overrides.yaml.template,sha256=T9CjpPayth_1bDH-iL0mSdTTMi27GmC8cNxnBaxRNWk,4170
35
35
  tweek/config/templates/tweek.yaml.template,sha256=jdSE7e3JeS9vOWEGWK2VCr66HLxSSFpOkNNUcZQQrkg,777
36
36
  tweek/hooks/__init__.py,sha256=GcgDjPdhZayxmyZ4-GfBa-ISARNtt9087RsuprRq2-s,54
37
- tweek/hooks/break_glass.py,sha256=GNMhCtLWPylNMlQ5QfsoUkEjgIT1Uk1Ik7HvRWeE5N8,4636
37
+ tweek/hooks/break_glass.py,sha256=xa7lDQXFRC08a2H5AZxh35NAGCLGCfwyXX0sdY00DVI,5506
38
38
  tweek/hooks/feedback.py,sha256=uuA4opHYyBHC5sElBz-fr2Je3cg2DAv-aRHvETZcag0,6555
39
- tweek/hooks/overrides.py,sha256=9WfTfh5R_IstoR7SKlEIq-mgRbUTnnIiJYSTDV3_ekI,18762
40
- tweek/hooks/post_tool_use.py,sha256=NVOgcd7wn5BL5TYQiTwvMFxy_68dWp5z6FoRYXypfaU,19195
41
- tweek/hooks/pre_tool_use.py,sha256=qMGaRamkBUEXZFTYdiqFgmxLiTeH2ON4FHvcGKKxazg,76765
39
+ tweek/hooks/overrides.py,sha256=z2E_XVu247LmecX82bVH2S5mjCcoxaLx_zuuBgDMMUc,19526
40
+ tweek/hooks/post_tool_use.py,sha256=aBte4ltm2EiNo0w7K9ZMN6oWv09S9EyVqbRgUkRrRco,19328
41
+ tweek/hooks/pre_tool_use.py,sha256=ZGGzDj2s2YVQmn6wy0S6Gk9VRloHYaxFZXx42RJcaaU,77483
42
+ tweek/hooks/wrapper_post_tool_use.py,sha256=ZVIS9yXVouurqoIr8nBHPKepuMSFsHKwCh6Xv-QD6B8,3750
43
+ tweek/hooks/wrapper_pre_tool_use.py,sha256=7f3sTtSF2eQCM94JQ_zm8NHlcgplpKb7lxE4Z9t8qbo,3731
42
44
  tweek/integrations/__init__.py,sha256=sl7wFwbygmnruugX4bO2EUjoXxBlCpzTKbj-1zHuUPg,78
43
- tweek/integrations/openclaw.py,sha256=uSP_FPG5BFnk8o6Z-1PlXB8od4OX0p0nGN8xRof9XsE,16955
44
- tweek/integrations/openclaw_server.py,sha256=Ah7wxsxKE2lQmIdlrFINvt5jW9U_bqqERfG3X2N5Aps,12533
45
+ tweek/integrations/openclaw.py,sha256=4zeRHlq-W_b-jd5Hj3lHJdDkneS55aFE8A6NfpZG954,17333
46
+ tweek/integrations/openclaw_detection.py,sha256=QszOrZ6B8regPiWJIScbqlS7hr0tEIP2V_XS88nw3v8,4132
47
+ tweek/integrations/openclaw_server.py,sha256=88kUdzO58a3FKaeBRp9AfK_UBYgfFFRezZYTabkhI6Y,20997
45
48
  tweek/logging/__init__.py,sha256=-HUdhMuDlGUwG3v2KE7xH7cClOSQ5kZIDcVO4cybVLI,228
46
49
  tweek/logging/bundle.py,sha256=eDP0Is-hna18goaHmvexXpoNAlFhmWoMG-STTLZ19_w,11911
47
50
  tweek/logging/json_logger.py,sha256=zXOsFAufj3MF0TboM5zSS7V8uNBDJea7YkJHR-uQgBA,4698
48
- tweek/logging/security_log.py,sha256=BwHDdrN0VCpqssStvsZdASFnyxVpANCq9xiSkFsEFFk,28486
51
+ tweek/logging/security_log.py,sha256=x1xdDWhBvUi6NAGefxwLvmr6OxqFEO-_d1iBIlL7Qaw,29163
49
52
  tweek/mcp/__init__.py,sha256=UbBOrb15XrVIcyKoNLXos2N63Xw2_EeyKnaALkjfnME,610
50
53
  tweek/mcp/approval.py,sha256=WIFQi4ryXEFtgQyzQIshwgP5h_Th7Cxepx9NIhf2o_4,17885
51
54
  tweek/mcp/approval_cli.py,sha256=8WtmJF7KTLmdEF5wHqENaUJUzKEQej4CjRtFey4RcGg,11281
@@ -58,12 +61,12 @@ tweek/mcp/clients/gemini.py,sha256=IFGClXc2ytrheah0Ja7vrMLVDEhORcUdQWnEo29BOVE,5
58
61
  tweek/memory/__init__.py,sha256=rUe3cc-Nh-8k7kEMHzF8ao2QRt-tnI9kZQAtU8GQT5M,843
59
62
  tweek/memory/provenance.py,sha256=zuVHRI9Krj4-YCEj-OJ_4P7xnmAHDelIyrN34446fhw,15628
60
63
  tweek/memory/queries.py,sha256=MsUTMOai_iyVSfAmiRFcb_-E9KF2kah1WdeXOa27u-A,6712
61
- tweek/memory/safety.py,sha256=Mv9R2bQxX2TcitIsgugY7gZmaWjxEahTyVTRTTr1ePA,5416
64
+ tweek/memory/safety.py,sha256=j9f8-sKqenSspPm9RBSLAQ1C7lnt66Stv0N8LAbello,5584
62
65
  tweek/memory/schemas.py,sha256=WD2BIXgEYdG1rjn8MNNS1UWxc2x9bZ_7k736BkJERZg,2125
63
- tweek/memory/store.py,sha256=Z9MwVsWkz76SncSwxaYmWT3uU4btq4CM-2JIuDkS744,36705
66
+ tweek/memory/store.py,sha256=MEIa-SErCWziAwT6FpnwOYPCDNOliLFp8v525jroYXc,37659
64
67
  tweek/platform/__init__.py,sha256=jIwiwsMU297T02JOymjAdvk7QheEJxgDspueV38pJJE,3757
65
68
  tweek/plugins/__init__.py,sha256=u2dsiOhUE2WbYArjoeyWbaaO99J0aZJU_Z_X83OzVWw,28437
66
- tweek/plugins/base.py,sha256=dcx-qjaYE7Dwr36JRNWQaQ1xaDZgb6-T3CTP45j3A24,33445
69
+ tweek/plugins/base.py,sha256=NBa769sv4Ov9DjiaHAmqIdsE2ZWfWswIvmDYNGtU3Pk,33837
67
70
  tweek/plugins/git_discovery.py,sha256=BD73T4NMdO34ueYaldWoYPmxlbw9UOxAyAh-KFwtKH0,12259
68
71
  tweek/plugins/git_installer.py,sha256=fkMDQ2hn-BEA2Z-_93FiylbSFF1FL1DM3Ud3R-YmYNk,15554
69
72
  tweek/plugins/git_lockfile.py,sha256=pFxcqXGnJDefkTEykSmTA9uaiP9eTJuex0yw9xHq5yg,10821
@@ -81,7 +84,7 @@ tweek/plugins/detectors/__init__.py,sha256=v0So6W5CHPoDnQUjUW_3PPaM5pF9F4lXVcsTW
81
84
  tweek/plugins/detectors/continue_dev.py,sha256=A69j4l-I5t8WG0TNMYp3ZHxLZ1qesTLIGgFdIuSCx9Y,6848
82
85
  tweek/plugins/detectors/copilot.py,sha256=1-y0pZtgPS79hDZdZhVNtOcLcAJ5SOg0_WMUgwVZcBg,8716
83
86
  tweek/plugins/detectors/cursor.py,sha256=6OCBQNShHAw9k2Gu93HybYYknu3WlRpxNPluor8KUJA,5805
84
- tweek/plugins/detectors/openclaw.py,sha256=2VJhGYF3aqQ03703rlv6bqwKLp3j-H-5fSaKyX5zAiM,6731
87
+ tweek/plugins/detectors/openclaw.py,sha256=T5OBUq0fbeC1ECCsTo_3vTfT31oXdkS23RRX95X1bTE,4695
85
88
  tweek/plugins/detectors/windsurf.py,sha256=rVzHcjlshExZSc_xrw9mpIg2hSK6aXQjWnh63owmpHg,6917
86
89
  tweek/plugins/providers/__init__.py,sha256=CTQ8ayQsgSphN6Ao-a06KcyEdxC9RV3937VD3vmcBcw,805
87
90
  tweek/plugins/providers/anthropic.py,sha256=c2NSG22XtgR7IG_JfSR-Tq1haMSuO3tgCbGMY6CKLCU,5732
@@ -90,9 +93,9 @@ tweek/plugins/providers/bedrock.py,sha256=ADIdO7Kpz-kNq78Mq1pQpt8rfX9OIAR3NaMGiA
90
93
  tweek/plugins/providers/google.py,sha256=2wIt-lKXGb_vRcEz-_2zLHTyRdT_VFd3RYpEs_Vuxj0,6033
91
94
  tweek/plugins/providers/openai.py,sha256=LK3_4UIgj1XBORA2MTEI88DID67_9nXY1i8rbe3Yem0,7522
92
95
  tweek/plugins/screening/__init__.py,sha256=KijMffjrD35tbz0RBW4fb8elt36tdrNvlKBVmyeH-OA,1214
93
- tweek/plugins/screening/heuristic_scorer.py,sha256=CuXR_KEoRbn9nRMdNbjzmA00WvBkp31tQTuS5E2t_sQ,17193
96
+ tweek/plugins/screening/heuristic_scorer.py,sha256=cwFyERka_zIPxvhyv5ewoIlPpUVQFgX9zAS4HV_2cpc,17689
94
97
  tweek/plugins/screening/llm_reviewer.py,sha256=DJv4bd5iu0aXtfUyuQ5yb6UTKnyPaY0NW43JraiE90o,5135
95
- tweek/plugins/screening/local_model_reviewer.py,sha256=SCQDXvd5cq_w6IQP_G3RzOVDy6W2Xco0b4lKeYd14-0,5010
98
+ tweek/plugins/screening/local_model_reviewer.py,sha256=m_TsI3yRjzdMO-4UCk42TLYzm83jpzW5dL2OcddsLc4,5561
96
99
  tweek/plugins/screening/pattern_matcher.py,sha256=Zto8ZAJenZoN605LfHvoyNLzqYtJqJg02rH7GaAvPoo,8673
97
100
  tweek/plugins/screening/rate_limiter.py,sha256=-Ekh2B5V8fqXErQjhbaR-91Dwr-p6Jrbsw3oJI5FjdY,5671
98
101
  tweek/plugins/screening/session_analyzer.py,sha256=Zy_0R3TUG6j5_3Vp6Nor4m8daVEhrB8ybH8GGh9llt8,5061
@@ -112,12 +115,12 @@ tweek/screening/__init__.py,sha256=-QKzhN8TNqEOrooPunbQl_f6133LOXAszmiKyv8V07I,3
112
115
  tweek/screening/context.py,sha256=iZeD6-Fm7dNs5wlIu15MlMbIPzeTX_Pe0DUkK5xHpQ0,3030
113
116
  tweek/security/__init__.py,sha256=2qkoxVHzWeHdVWYHRYZG479Qpfodl6jNCQu_Wc3i1vM,901
114
117
  tweek/security/integrity.py,sha256=QMW5Zu5PaZHC5DLwumnIq7CUOw-iqs_7AMlijLonXj4,2689
115
- tweek/security/language.py,sha256=690g63NoeKjwxPG0d38USa1w30QtsAohiT2SXBv-ON4,9128
116
- tweek/security/llm_reviewer.py,sha256=NnelRwC6ie_KzxV_2MYjuVPaWUVf61QN7ORuKSM5sVY,53335
117
- tweek/security/local_model.py,sha256=fqWQOSiAcWVIM1zzy6SosXVh9hNHJbLRzTJPy9I3sFs,10451
118
+ tweek/security/language.py,sha256=HG0gvowEA5hZJ6FAOt-zNEnHA_MDeHb94VxyXqf59mw,9191
119
+ tweek/security/llm_reviewer.py,sha256=Y3qoYMnWBK80vQSttUpiHvUFejjN37DQsDHBkOdNQYU,54478
120
+ tweek/security/local_model.py,sha256=k5G096kj1KGlJqxnMiRlwYd2VapHZINohk-DcFBbo_M,11492
118
121
  tweek/security/local_reviewer.py,sha256=0BzFx8U42KucBL14rpUbXZ8zxsu9ALHGhVosVcj0uh0,6890
119
- tweek/security/model_registry.py,sha256=zi0mYyTzWc6BL2W7Kd1gCLNti0N8OygKpwL94Re8Kzw,13795
120
- tweek/security/rate_limiter.py,sha256=bY8VIkQ-wCbNOYTLwD4MsMBoHk59zPWeZCkuE8Zntm8,24185
122
+ tweek/security/model_registry.py,sha256=nn4P6dbr-GznhYZF4r5v_7KToZE8BRLyNqVqcp3S5t4,13795
123
+ tweek/security/rate_limiter.py,sha256=xMj9y0Vd_JlJbysKsa3VRmBrlGcKgzaALXmhPTa_oAM,28152
121
124
  tweek/security/secret_scanner.py,sha256=G-bbMwsAJD197BEOnZJdn_qphS4RNPK_wpLfkpiLuFU,18774
122
125
  tweek/security/session_analyzer.py,sha256=-Ylp583VZ_YJRkN5JZrYpaK1sVbiM6KP7ZwLBzWpiCI,24260
123
126
  tweek/skill_template/SKILL.md,sha256=gBk_Ken77scVYeCs8imm1ASnNLDpBl-C0ufgWrrkQIA,10274
@@ -130,17 +133,17 @@ tweek/skills/__init__.py,sha256=DyTvK8n5Lb-idkJhXCVytpiZjNfWveCtNkSL6o8dxHM,1209
130
133
  tweek/skills/config.py,sha256=I95wK9CBj_UiHwFuxfE8yRl7cmFiqdY0hXfF3BHP0X8,4782
131
134
  tweek/skills/context.py,sha256=15wn3wh_m4n954tsWtf4p8kBdtFmwN18TxPzOaGfGlc,6672
132
135
  tweek/skills/fingerprints.py,sha256=YjPsTxqotzGlyMIgfgewSoNDTLU8_-p9fY_a44LJTjU,6027
133
- tweek/skills/guard.py,sha256=1g3QVFwtW2T04PPCouAAEPxgoweVGEld0WL9eCE80js,8294
136
+ tweek/skills/guard.py,sha256=uZ47YLG3vEVzV_WcFBVJOfkMidGdYCvucDNMhsnre-I,9175
134
137
  tweek/skills/isolation.py,sha256=AmGwzD8xh70HL4f5aIrvYGm_ug1hHwu8tZXSAnsKiJk,16547
135
138
  tweek/skills/scanner.py,sha256=YlH-yg3_JuwmBvmnpqA4PVfWyNBHaPSjBo6d9Ncuh8k,27574
136
139
  tweek/vault/__init__.py,sha256=L408fjdRYL8-VqLEsyyHSO9PkBDhd_2mPIbrCu53YhM,980
137
140
  tweek/vault/cross_platform.py,sha256=D4UvX_7OpSo8iRx5sc2OUUWQIk8JHhgeFBYk1MbyIj4,8251
138
141
  tweek/vault/keychain.py,sha256=XL18-SUj7HwuqxLXZDViuCH81--KMu68jN9Szn1aeyw,10624
139
- tweek-0.4.1.dist-info/licenses/LICENSE,sha256=rjoDzr1vAf0bsqZglpIyekU5aewIkCk4jHZZDvVI2BE,15269
140
- tweek-0.4.1.dist-info/licenses/NOTICE,sha256=taQokyDes5UTRNEC67G-13VmqvUyTOncrrT33pCcWL0,8729
142
+ tweek-0.4.3.dist-info/licenses/LICENSE,sha256=rjoDzr1vAf0bsqZglpIyekU5aewIkCk4jHZZDvVI2BE,15269
143
+ tweek-0.4.3.dist-info/licenses/NOTICE,sha256=taQokyDes5UTRNEC67G-13VmqvUyTOncrrT33pCcWL0,8729
141
144
  tweek-openclaw-plugin/node_modules/flatted/python/flatted.py,sha256=UYburBDqkySaTfSpntPCUJRxiBGcplusJM7ECX8FEgA,3860
142
- tweek-0.4.1.dist-info/METADATA,sha256=0yNrHwETKn3gL-nzeTgoFJiDkbMJPNjp7IpJOUyqKWA,11992
143
- tweek-0.4.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
144
- tweek-0.4.1.dist-info/entry_points.txt,sha256=YXThD6UiF5XQXwqW33sphsvz-Bl4Zm6pm-xq-5wcCYE,1337
145
- tweek-0.4.1.dist-info/top_level.txt,sha256=jtNcCxjoGXN8IBqEVL0F3LHDrZD_B0S-4XF9-Ur7Pbc,28
146
- tweek-0.4.1.dist-info/RECORD,,
145
+ tweek-0.4.3.dist-info/METADATA,sha256=ynxe3BBnGBznFuUF6LpjjFuwyZ5yA4G70aKIf61-6a8,11992
146
+ tweek-0.4.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
147
+ tweek-0.4.3.dist-info/entry_points.txt,sha256=YXThD6UiF5XQXwqW33sphsvz-Bl4Zm6pm-xq-5wcCYE,1337
148
+ tweek-0.4.3.dist-info/top_level.txt,sha256=jtNcCxjoGXN8IBqEVL0F3LHDrZD_B0S-4XF9-Ur7Pbc,28
149
+ tweek-0.4.3.dist-info/RECORD,,
File without changes