conduct-cli 0.7.20__tar.gz → 0.7.22__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.
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/PKG-INFO +1 -1
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/pyproject.toml +1 -1
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/guard.py +0 -2
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/base.py +3 -3
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli.egg-info/PKG-INFO +1 -1
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/README.md +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/setup.cfg +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/setup.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/__init__.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/api.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/guardmcp.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/__init__.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/posttooluse.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/precompact.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/pretooluse.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/session_parser.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/session_report_push.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/session_start.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/hooks/stop.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/log_util.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/main.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/mcp_server.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/memory.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/paxel.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli/tool_groups.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli.egg-info/entry_points.txt +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli.egg-info/requires.txt +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/src/conduct_cli.egg-info/top_level.txt +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_advisory_and_hook.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_bash_operator_signature.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_blast_radius.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_command_word_matcher.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_drain_daemon_health.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_guard_policy.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_guard_savings.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_hook_dispatch.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_journal_drain.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_log_util.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_proxy_coverage.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_proxy_env.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_signed_policy.py +0 -0
- {conduct_cli-0.7.20 → conduct_cli-0.7.22}/tests/test_switch.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "conduct-cli"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.22"
|
|
8
8
|
description = "CLI for Conduct AI — secure, govern, install agents, manage projects, run tests"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -742,7 +742,6 @@ def cmd_guard_install(args):
|
|
|
742
742
|
clerk_user_id = result.get("clerk_user_id") or ""
|
|
743
743
|
|
|
744
744
|
# Persona selection — prompt once, skip if already chosen
|
|
745
|
-
_ensure_persona(workspace_id, api_key, server)
|
|
746
745
|
|
|
747
746
|
# Persist unified config — single ~/.conduct/config.json
|
|
748
747
|
import time as _time
|
|
@@ -1161,7 +1160,6 @@ def cmd_guard_sync(args):
|
|
|
1161
1160
|
base_url = _api_url(cfg)
|
|
1162
1161
|
|
|
1163
1162
|
# Persona selection — prompt once, skip if already chosen
|
|
1164
|
-
_ensure_persona(workspace_id, api_key, base_url)
|
|
1165
1163
|
|
|
1166
1164
|
dry_run = getattr(args, "dry_run", False)
|
|
1167
1165
|
print(f"{'[dry-run] ' if dry_run else ''}Syncing policy…")
|
|
@@ -16,7 +16,7 @@ from typing import Literal, Optional
|
|
|
16
16
|
|
|
17
17
|
# ── Canonical paths ───────────────────────────────────────────────────────────
|
|
18
18
|
|
|
19
|
-
GUARD_DIR = Path.home() / ".
|
|
19
|
+
GUARD_DIR = Path.home() / ".conduct"
|
|
20
20
|
CONFIG_PATH = GUARD_DIR / "config.json"
|
|
21
21
|
POLICY_PATH = GUARD_DIR / "policy.json"
|
|
22
22
|
BUDGET_CACHE_PATH = GUARD_DIR / "budget_cache.json"
|
|
@@ -43,7 +43,7 @@ class HookResult:
|
|
|
43
43
|
# ── Config loading ────────────────────────────────────────────────────────────
|
|
44
44
|
|
|
45
45
|
def load_config() -> dict:
|
|
46
|
-
"""Load Guard config from ~/.
|
|
46
|
+
"""Load Guard config from ~/.conduct/config.json."""
|
|
47
47
|
try:
|
|
48
48
|
if CONFIG_PATH.exists():
|
|
49
49
|
return json.loads(CONFIG_PATH.read_text())
|
|
@@ -53,7 +53,7 @@ def load_config() -> dict:
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def active_policy_path() -> Path:
|
|
56
|
-
"""Return policy path: ~/.
|
|
56
|
+
"""Return policy path: ~/.conduct/policy.json."""
|
|
57
57
|
return POLICY_PATH
|
|
58
58
|
|
|
59
59
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|