conduct-cli 0.4.81__tar.gz → 0.4.83__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.4.81 → conduct_cli-0.4.83}/PKG-INFO +1 -1
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/pyproject.toml +1 -1
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/guard.py +1 -12
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/main.py +6 -4
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/PKG-INFO +1 -1
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/README.md +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/setup.cfg +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/setup.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/__init__.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/api.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/guardmcp.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_precompact_template.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_session_start_template.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_stop_template.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_template.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/mcp_server.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/memory.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/entry_points.txt +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/requires.txt +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/top_level.txt +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_guard_policy.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_guard_savings.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_hook_syntax.py +0 -0
- {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_switch.py +0 -0
|
@@ -399,17 +399,8 @@ def _install_claude_hook(hook_path: Path) -> None:
|
|
|
399
399
|
if cleaned:
|
|
400
400
|
changed = True
|
|
401
401
|
|
|
402
|
-
# Stop — (
|
|
402
|
+
# Stop — capture session for team memory only (guard sync removed — exits 1 without TTY)
|
|
403
403
|
stop = hooks.setdefault("Stop", [])
|
|
404
|
-
stop_cmd = "conduct guard sync"
|
|
405
|
-
stop_already = any(
|
|
406
|
-
stop_cmd in e.get("command", "")
|
|
407
|
-
for h in stop
|
|
408
|
-
for e in h.get("hooks", [])
|
|
409
|
-
)
|
|
410
|
-
if not stop_already:
|
|
411
|
-
stop.append({"hooks": [{"type": "command", "command": stop_cmd}]})
|
|
412
|
-
changed = True
|
|
413
404
|
|
|
414
405
|
python = _best_python()
|
|
415
406
|
stop_path = GUARD_DIR / "guard-stop.py"
|
|
@@ -430,8 +421,6 @@ def _install_claude_hook(hook_path: Path) -> None:
|
|
|
430
421
|
print(f" {GREEN}Claude Code PreToolUse hook registered{RESET}")
|
|
431
422
|
if not post_already or cleaned:
|
|
432
423
|
print(f" {GREEN}Claude Code PostToolUse hook registered{RESET}")
|
|
433
|
-
if not stop_already:
|
|
434
|
-
print(f" {GREEN}Claude Code Stop hook registered (auto-sync savings){RESET}")
|
|
435
424
|
if not mem_already:
|
|
436
425
|
print(f" {GREEN}Claude Code Stop hook registered (team memory capture){RESET}")
|
|
437
426
|
else:
|
|
@@ -497,8 +497,8 @@ def cmd_login(args):
|
|
|
497
497
|
ak = cfg.get("api_key")
|
|
498
498
|
tok = cfg.get("token")
|
|
499
499
|
|
|
500
|
-
#
|
|
501
|
-
if ak and ak.startswith("cond_live_")
|
|
500
|
+
# Fetch identity from API key — always refresh email/user_id
|
|
501
|
+
if ak and ak.startswith("cond_live_"):
|
|
502
502
|
try:
|
|
503
503
|
hdrs = {"X-Api-Key": ak, "Content-Type": "application/json"}
|
|
504
504
|
me = api.req("GET", f"{s}/me", hdrs)
|
|
@@ -507,9 +507,11 @@ def cmd_login(args):
|
|
|
507
507
|
cfg["user_id"] = me["user_id"]
|
|
508
508
|
if me.get("email"):
|
|
509
509
|
cfg["email"] = me["email"]
|
|
510
|
-
|
|
510
|
+
if not cfg.get("workspace"):
|
|
511
|
+
print(f"{GREEN}✓ Workspace discovered:{RESET} {cfg['workspace']}")
|
|
511
512
|
except SystemExit:
|
|
512
|
-
|
|
513
|
+
if not cfg.get("workspace"):
|
|
514
|
+
print(f"{YELLOW}⚠ Could not auto-discover workspace. Pass --workspace <id> manually.{RESET}")
|
|
513
515
|
|
|
514
516
|
ws = cfg.get("workspace", "")
|
|
515
517
|
if ws and (ak or tok):
|
|
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
|