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.
Files changed (26) hide show
  1. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/PKG-INFO +1 -1
  2. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/pyproject.toml +1 -1
  3. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/guard.py +1 -12
  4. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/main.py +6 -4
  5. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/PKG-INFO +1 -1
  6. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/README.md +0 -0
  7. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/setup.cfg +0 -0
  8. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/setup.py +0 -0
  9. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/__init__.py +0 -0
  10. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/api.py +0 -0
  11. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/guardmcp.py +0 -0
  12. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_precompact_template.py +0 -0
  13. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_session_start_template.py +0 -0
  14. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_stop_template.py +0 -0
  15. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/hook_template.py +0 -0
  16. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/mcp_server.py +0 -0
  17. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli/memory.py +0 -0
  18. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
  19. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
  20. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/entry_points.txt +0 -0
  21. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/requires.txt +0 -0
  22. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/src/conduct_cli.egg-info/top_level.txt +0 -0
  23. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_guard_policy.py +0 -0
  24. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_guard_savings.py +0 -0
  25. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_hook_syntax.py +0 -0
  26. {conduct_cli-0.4.81 → conduct_cli-0.4.83}/tests/test_switch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.4.81
3
+ Version: 0.4.83
4
4
  Summary: CLI for Conduct AI — install agents, manage projects, run tests
5
5
  Author-email: Conduct AI <hello@conductai.ai>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "conduct-cli"
7
- version = "0.4.81"
7
+ version = "0.4.83"
8
8
  description = "CLI for Conduct AI — install agents, manage projects, run tests"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -399,17 +399,8 @@ def _install_claude_hook(hook_path: Path) -> None:
399
399
  if cleaned:
400
400
  changed = True
401
401
 
402
- # Stop — (1) auto-sync savings, (2) capture session for team memory
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
- # Auto-discover workspace from API key if not provided
501
- if ak and ak.startswith("cond_live_") and not cfg.get("workspace"):
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
- print(f"{GREEN}✓ Workspace discovered:{RESET} {cfg['workspace']}")
510
+ if not cfg.get("workspace"):
511
+ print(f"{GREEN}✓ Workspace discovered:{RESET} {cfg['workspace']}")
511
512
  except SystemExit:
512
- print(f"{YELLOW}⚠ Could not auto-discover workspace. Pass --workspace <id> manually.{RESET}")
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):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.4.81
3
+ Version: 0.4.83
4
4
  Summary: CLI for Conduct AI — install agents, manage projects, run tests
5
5
  Author-email: Conduct AI <hello@conductai.ai>
6
6
  License: MIT
File without changes
File without changes
File without changes