tweek 0.3.0__tar.gz → 0.3.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.
Files changed (170) hide show
  1. {tweek-0.3.0/tweek.egg-info → tweek-0.3.1}/PKG-INFO +3 -2
  2. {tweek-0.3.0 → tweek-0.3.1}/README.md +1 -1
  3. {tweek-0.3.0 → tweek-0.3.1}/pyproject.toml +2 -1
  4. tweek-0.3.1/tests/test_config_models.py +1000 -0
  5. tweek-0.3.1/tests/test_property_based.py +823 -0
  6. {tweek-0.3.0 → tweek-0.3.1}/tweek/__init__.py +1 -1
  7. {tweek-0.3.0 → tweek-0.3.1}/tweek/audit.py +2 -2
  8. {tweek-0.3.0 → tweek-0.3.1}/tweek/cli.py +63 -17
  9. tweek-0.3.1/tweek/config/__init__.py +21 -0
  10. {tweek-0.3.0 → tweek-0.3.1}/tweek/config/manager.py +32 -0
  11. tweek-0.3.1/tweek/config/models.py +307 -0
  12. {tweek-0.3.0 → tweek-0.3.1}/tweek/config/patterns.yaml +1 -1
  13. {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/post_tool_use.py +1 -1
  14. {tweek-0.3.0 → tweek-0.3.1}/tweek/licensing.py +1 -1
  15. {tweek-0.3.0 → tweek-0.3.1/tweek.egg-info}/PKG-INFO +3 -2
  16. {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/SOURCES.txt +3 -0
  17. {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/requires.txt +1 -0
  18. tweek-0.3.0/tweek/config/__init__.py +0 -13
  19. {tweek-0.3.0 → tweek-0.3.1}/LICENSE +0 -0
  20. {tweek-0.3.0 → tweek-0.3.1}/NOTICE +0 -0
  21. {tweek-0.3.0 → tweek-0.3.1}/setup.cfg +0 -0
  22. {tweek-0.3.0 → tweek-0.3.1}/tests/test_approval_queue.py +0 -0
  23. {tweek-0.3.0 → tweek-0.3.1}/tests/test_audit.py +0 -0
  24. {tweek-0.3.0 → tweek-0.3.1}/tests/test_break_glass.py +0 -0
  25. {tweek-0.3.0 → tweek-0.3.1}/tests/test_cli.py +0 -0
  26. {tweek-0.3.0 → tweek-0.3.1}/tests/test_cli_helpers.py +0 -0
  27. {tweek-0.3.0 → tweek-0.3.1}/tests/test_config_manager.py +0 -0
  28. {tweek-0.3.0 → tweek-0.3.1}/tests/test_credential_scanner.py +0 -0
  29. {tweek-0.3.0 → tweek-0.3.1}/tests/test_diagnostics.py +0 -0
  30. {tweek-0.3.0 → tweek-0.3.1}/tests/test_enforcement.py +0 -0
  31. {tweek-0.3.0 → tweek-0.3.1}/tests/test_feedback.py +0 -0
  32. {tweek-0.3.0 → tweek-0.3.1}/tests/test_heuristic_scorer.py +0 -0
  33. {tweek-0.3.0 → tweek-0.3.1}/tests/test_installer_improvements.py +0 -0
  34. {tweek-0.3.0 → tweek-0.3.1}/tests/test_language_detection.py +0 -0
  35. {tweek-0.3.0 → tweek-0.3.1}/tests/test_licensing.py +0 -0
  36. {tweek-0.3.0 → tweek-0.3.1}/tests/test_llm_local.py +0 -0
  37. {tweek-0.3.0 → tweek-0.3.1}/tests/test_llm_reviewer.py +0 -0
  38. {tweek-0.3.0 → tweek-0.3.1}/tests/test_local_model.py +0 -0
  39. {tweek-0.3.0 → tweek-0.3.1}/tests/test_log_bundle.py +0 -0
  40. {tweek-0.3.0 → tweek-0.3.1}/tests/test_logging.py +0 -0
  41. {tweek-0.3.0 → tweek-0.3.1}/tests/test_logging_enhanced.py +0 -0
  42. {tweek-0.3.0 → tweek-0.3.1}/tests/test_mcp_clients.py +0 -0
  43. {tweek-0.3.0 → tweek-0.3.1}/tests/test_mcp_proxy.py +0 -0
  44. {tweek-0.3.0 → tweek-0.3.1}/tests/test_mcp_server.py +0 -0
  45. {tweek-0.3.0 → tweek-0.3.1}/tests/test_openclaw_integration.py +0 -0
  46. {tweek-0.3.0 → tweek-0.3.1}/tests/test_overrides.py +0 -0
  47. {tweek-0.3.0 → tweek-0.3.1}/tests/test_path_boundary.py +0 -0
  48. {tweek-0.3.0 → tweek-0.3.1}/tests/test_pattern_families.py +0 -0
  49. {tweek-0.3.0 → tweek-0.3.1}/tests/test_patterns.py +0 -0
  50. {tweek-0.3.0 → tweek-0.3.1}/tests/test_plugin_scoping.py +0 -0
  51. {tweek-0.3.0 → tweek-0.3.1}/tests/test_post_tool_use.py +0 -0
  52. {tweek-0.3.0 → tweek-0.3.1}/tests/test_prompt_injection_patterns.py +0 -0
  53. {tweek-0.3.0 → tweek-0.3.1}/tests/test_protect_command.py +0 -0
  54. {tweek-0.3.0 → tweek-0.3.1}/tests/test_proxy_detection.py +0 -0
  55. {tweek-0.3.0 → tweek-0.3.1}/tests/test_rate_limiter.py +0 -0
  56. {tweek-0.3.0 → tweek-0.3.1}/tests/test_redaction.py +0 -0
  57. {tweek-0.3.0 → tweek-0.3.1}/tests/test_screening_context.py +0 -0
  58. {tweek-0.3.0 → tweek-0.3.1}/tests/test_session_analyzer.py +0 -0
  59. {tweek-0.3.0 → tweek-0.3.1}/tests/test_vault_cross_platform.py +0 -0
  60. {tweek-0.3.0 → tweek-0.3.1}/tweek/_keygen.py +0 -0
  61. {tweek-0.3.0 → tweek-0.3.1}/tweek/cli_helpers.py +0 -0
  62. {tweek-0.3.0 → tweek-0.3.1}/tweek/cli_model.py +0 -0
  63. {tweek-0.3.0 → tweek-0.3.1}/tweek/config/allowed_dirs.yaml +0 -0
  64. {tweek-0.3.0 → tweek-0.3.1}/tweek/config/families.yaml +0 -0
  65. {tweek-0.3.0 → tweek-0.3.1}/tweek/config/tiers.yaml +0 -0
  66. {tweek-0.3.0 → tweek-0.3.1}/tweek/diagnostics.py +0 -0
  67. {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/__init__.py +0 -0
  68. {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/break_glass.py +0 -0
  69. {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/feedback.py +0 -0
  70. {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/overrides.py +0 -0
  71. {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/pre_tool_use.py +0 -0
  72. {tweek-0.3.0 → tweek-0.3.1}/tweek/integrations/__init__.py +0 -0
  73. {tweek-0.3.0 → tweek-0.3.1}/tweek/integrations/openclaw.py +0 -0
  74. {tweek-0.3.0 → tweek-0.3.1}/tweek/integrations/openclaw_server.py +0 -0
  75. {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/__init__.py +0 -0
  76. {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/bundle.py +0 -0
  77. {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/json_logger.py +0 -0
  78. {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/security_log.py +0 -0
  79. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/__init__.py +0 -0
  80. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/approval.py +0 -0
  81. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/approval_cli.py +0 -0
  82. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/__init__.py +0 -0
  83. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/chatgpt.py +0 -0
  84. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/claude_desktop.py +0 -0
  85. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/gemini.py +0 -0
  86. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/proxy.py +0 -0
  87. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/screening.py +0 -0
  88. {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/server.py +0 -0
  89. {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/__init__.py +0 -0
  90. {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/queries.py +0 -0
  91. {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/safety.py +0 -0
  92. {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/schemas.py +0 -0
  93. {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/store.py +0 -0
  94. {tweek-0.3.0 → tweek-0.3.1}/tweek/platform/__init__.py +0 -0
  95. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/__init__.py +0 -0
  96. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/base.py +0 -0
  97. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/__init__.py +0 -0
  98. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/gdpr.py +0 -0
  99. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/gov.py +0 -0
  100. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/hipaa.py +0 -0
  101. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/legal.py +0 -0
  102. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/pci.py +0 -0
  103. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/soc2.py +0 -0
  104. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/__init__.py +0 -0
  105. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/continue_dev.py +0 -0
  106. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/copilot.py +0 -0
  107. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/cursor.py +0 -0
  108. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/openclaw.py +0 -0
  109. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/windsurf.py +0 -0
  110. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_discovery.py +0 -0
  111. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_installer.py +0 -0
  112. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_lockfile.py +0 -0
  113. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_registry.py +0 -0
  114. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_security.py +0 -0
  115. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/__init__.py +0 -0
  116. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/anthropic.py +0 -0
  117. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/azure_openai.py +0 -0
  118. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/bedrock.py +0 -0
  119. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/google.py +0 -0
  120. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/openai.py +0 -0
  121. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/scope.py +0 -0
  122. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/__init__.py +0 -0
  123. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/heuristic_scorer.py +0 -0
  124. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/llm_reviewer.py +0 -0
  125. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/local_model_reviewer.py +0 -0
  126. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/pattern_matcher.py +0 -0
  127. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/rate_limiter.py +0 -0
  128. {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/session_analyzer.py +0 -0
  129. {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/__init__.py +0 -0
  130. {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/addon.py +0 -0
  131. {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/interceptor.py +0 -0
  132. {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/server.py +0 -0
  133. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/__init__.py +0 -0
  134. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/docker_bridge.py +0 -0
  135. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/executor.py +0 -0
  136. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/layers.py +0 -0
  137. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/linux.py +0 -0
  138. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/profile_generator.py +0 -0
  139. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/project.py +0 -0
  140. {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/registry.py +0 -0
  141. {tweek-0.3.0 → tweek-0.3.1}/tweek/screening/__init__.py +0 -0
  142. {tweek-0.3.0 → tweek-0.3.1}/tweek/screening/context.py +0 -0
  143. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/__init__.py +0 -0
  144. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/language.py +0 -0
  145. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/llm_reviewer.py +0 -0
  146. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/local_model.py +0 -0
  147. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/local_reviewer.py +0 -0
  148. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/model_registry.py +0 -0
  149. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/rate_limiter.py +0 -0
  150. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/secret_scanner.py +0 -0
  151. {tweek-0.3.0 → tweek-0.3.1}/tweek/security/session_analyzer.py +0 -0
  152. {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/SKILL.md +0 -0
  153. {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/__init__.py +0 -0
  154. {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/cli-reference.md +0 -0
  155. {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/overrides-reference.md +0 -0
  156. {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/scripts/__init__.py +0 -0
  157. {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/scripts/check_installed.py +0 -0
  158. {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/__init__.py +0 -0
  159. {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/config.py +0 -0
  160. {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/fingerprints.py +0 -0
  161. {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/guard.py +0 -0
  162. {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/isolation.py +0 -0
  163. {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/scanner.py +0 -0
  164. {tweek-0.3.0 → tweek-0.3.1}/tweek/vault/__init__.py +0 -0
  165. {tweek-0.3.0 → tweek-0.3.1}/tweek/vault/cross_platform.py +0 -0
  166. {tweek-0.3.0 → tweek-0.3.1}/tweek/vault/keychain.py +0 -0
  167. {tweek-0.3.0 → tweek-0.3.1}/tweek-openclaw-plugin/node_modules/flatted/python/flatted.py +0 -0
  168. {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/dependency_links.txt +0 -0
  169. {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/entry_points.txt +0 -0
  170. {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tweek
3
- Version: 0.3.0
3
+ Version: 0.3.1
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
@@ -45,6 +45,7 @@ Provides-Extra: dev
45
45
  Requires-Dist: pytest>=7.0; extra == "dev"
46
46
  Requires-Dist: pytest-cov>=4.0; extra == "dev"
47
47
  Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
48
+ Requires-Dist: hypothesis>=6.98.0; extra == "dev"
48
49
  Requires-Dist: black>=23.0; extra == "dev"
49
50
  Requires-Dist: ruff>=0.1.0; extra == "dev"
50
51
  Requires-Dist: twine>=4.0; extra == "dev"
@@ -165,7 +166,7 @@ Turn 3: cat ~/.ssh/id_rsa → BLOCKED: path_escalation anomaly
165
166
 
166
167
  **Response injection** — Malicious instructions hidden in tool responses are caught at ingestion.
167
168
 
168
- See the full [Attack Patterns Reference](docs/ATTACK_PATTERNS.md) for all 259 patterns across 22 categories.
169
+ See the full [Attack Patterns Reference](docs/ATTACK_PATTERNS.md) for all 259 patterns across 11 categories.
169
170
 
170
171
  ---
171
172
 
@@ -110,7 +110,7 @@ Turn 3: cat ~/.ssh/id_rsa → BLOCKED: path_escalation anomaly
110
110
 
111
111
  **Response injection** — Malicious instructions hidden in tool responses are caught at ingestion.
112
112
 
113
- See the full [Attack Patterns Reference](docs/ATTACK_PATTERNS.md) for all 259 patterns across 22 categories.
113
+ See the full [Attack Patterns Reference](docs/ATTACK_PATTERNS.md) for all 259 patterns across 11 categories.
114
114
 
115
115
  ---
116
116
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tweek"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "Defense-in-depth security for AI coding assistants - protect credentials, code, and system from prompt injection attacks"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -57,6 +57,7 @@ dev = [
57
57
  "pytest>=7.0",
58
58
  "pytest-cov>=4.0",
59
59
  "pytest-xdist>=3.5.0",
60
+ "hypothesis>=6.98.0",
60
61
  "black>=23.0",
61
62
  "ruff>=0.1.0",
62
63
  "twine>=4.0",