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.
- {tweek-0.3.0/tweek.egg-info → tweek-0.3.1}/PKG-INFO +3 -2
- {tweek-0.3.0 → tweek-0.3.1}/README.md +1 -1
- {tweek-0.3.0 → tweek-0.3.1}/pyproject.toml +2 -1
- tweek-0.3.1/tests/test_config_models.py +1000 -0
- tweek-0.3.1/tests/test_property_based.py +823 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/__init__.py +1 -1
- {tweek-0.3.0 → tweek-0.3.1}/tweek/audit.py +2 -2
- {tweek-0.3.0 → tweek-0.3.1}/tweek/cli.py +63 -17
- tweek-0.3.1/tweek/config/__init__.py +21 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/config/manager.py +32 -0
- tweek-0.3.1/tweek/config/models.py +307 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/config/patterns.yaml +1 -1
- {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/post_tool_use.py +1 -1
- {tweek-0.3.0 → tweek-0.3.1}/tweek/licensing.py +1 -1
- {tweek-0.3.0 → tweek-0.3.1/tweek.egg-info}/PKG-INFO +3 -2
- {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/SOURCES.txt +3 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/requires.txt +1 -0
- tweek-0.3.0/tweek/config/__init__.py +0 -13
- {tweek-0.3.0 → tweek-0.3.1}/LICENSE +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/NOTICE +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/setup.cfg +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_approval_queue.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_audit.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_break_glass.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_cli.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_cli_helpers.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_config_manager.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_credential_scanner.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_diagnostics.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_enforcement.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_feedback.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_heuristic_scorer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_installer_improvements.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_language_detection.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_licensing.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_llm_local.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_llm_reviewer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_local_model.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_log_bundle.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_logging.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_logging_enhanced.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_mcp_clients.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_mcp_proxy.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_mcp_server.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_openclaw_integration.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_overrides.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_path_boundary.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_pattern_families.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_patterns.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_plugin_scoping.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_post_tool_use.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_prompt_injection_patterns.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_protect_command.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_proxy_detection.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_rate_limiter.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_redaction.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_screening_context.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_session_analyzer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tests/test_vault_cross_platform.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/_keygen.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/cli_helpers.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/cli_model.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/config/allowed_dirs.yaml +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/config/families.yaml +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/config/tiers.yaml +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/diagnostics.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/break_glass.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/feedback.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/overrides.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/hooks/pre_tool_use.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/integrations/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/integrations/openclaw.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/integrations/openclaw_server.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/bundle.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/json_logger.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/logging/security_log.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/approval.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/approval_cli.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/chatgpt.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/claude_desktop.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/clients/gemini.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/proxy.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/screening.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/mcp/server.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/queries.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/safety.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/schemas.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/memory/store.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/platform/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/base.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/gdpr.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/gov.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/hipaa.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/legal.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/pci.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/compliance/soc2.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/continue_dev.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/copilot.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/cursor.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/openclaw.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/detectors/windsurf.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_discovery.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_installer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_lockfile.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_registry.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/git_security.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/anthropic.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/azure_openai.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/bedrock.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/google.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/providers/openai.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/scope.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/heuristic_scorer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/llm_reviewer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/local_model_reviewer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/pattern_matcher.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/rate_limiter.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/plugins/screening/session_analyzer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/addon.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/interceptor.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/proxy/server.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/docker_bridge.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/executor.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/layers.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/linux.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/profile_generator.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/project.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/sandbox/registry.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/screening/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/screening/context.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/language.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/llm_reviewer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/local_model.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/local_reviewer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/model_registry.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/rate_limiter.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/secret_scanner.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/security/session_analyzer.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/SKILL.md +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/cli-reference.md +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/overrides-reference.md +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/scripts/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skill_template/scripts/check_installed.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/config.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/fingerprints.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/guard.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/isolation.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/skills/scanner.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/vault/__init__.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/vault/cross_platform.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek/vault/keychain.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek-openclaw-plugin/node_modules/flatted/python/flatted.py +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/dependency_links.txt +0 -0
- {tweek-0.3.0 → tweek-0.3.1}/tweek.egg-info/entry_points.txt +0 -0
- {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.
|
|
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
|
|
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
|
|
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.
|
|
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",
|