conduct-cli 0.7.46__tar.gz → 0.7.47__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 (48) hide show
  1. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/PKG-INFO +1 -1
  2. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/pyproject.toml +1 -1
  3. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/guard.py +4 -3
  4. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli.egg-info/PKG-INFO +1 -1
  5. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/README.md +0 -0
  6. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/setup.cfg +0 -0
  7. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/setup.py +0 -0
  8. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/__init__.py +0 -0
  9. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/api.py +0 -0
  10. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/guardmcp.py +0 -0
  11. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/__init__.py +0 -0
  12. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/base.py +0 -0
  13. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/posttooluse.py +0 -0
  14. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/precompact.py +0 -0
  15. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/pretooluse.py +0 -0
  16. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/session_parser.py +0 -0
  17. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/session_report_push.py +0 -0
  18. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/session_start.py +0 -0
  19. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/hooks/stop.py +0 -0
  20. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/log_util.py +0 -0
  21. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/main.py +0 -0
  22. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/mcp_server.py +0 -0
  23. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/memory.py +0 -0
  24. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/paxel.py +0 -0
  25. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli/tool_groups.py +0 -0
  26. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
  27. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
  28. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli.egg-info/entry_points.txt +0 -0
  29. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli.egg-info/requires.txt +0 -0
  30. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/src/conduct_cli.egg-info/top_level.txt +0 -0
  31. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_advisory_and_hook.py +0 -0
  32. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_api_client.py +0 -0
  33. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_bash_operator_signature.py +0 -0
  34. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_blast_radius.py +0 -0
  35. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_cmd_run.py +0 -0
  36. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_command_word_matcher.py +0 -0
  37. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_drain_daemon_health.py +0 -0
  38. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_guard_policy.py +0 -0
  39. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_guard_savings.py +0 -0
  40. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_hook_dispatch.py +0 -0
  41. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_instruction_files.py +0 -0
  42. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_journal_drain.py +0 -0
  43. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_log_util.py +0 -0
  44. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_proxy_coverage.py +0 -0
  45. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_proxy_env.py +0 -0
  46. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_signed_policy.py +0 -0
  47. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_switch.py +0 -0
  48. {conduct_cli-0.7.46 → conduct_cli-0.7.47}/tests/test_token_lifecycle.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.7.46
3
+ Version: 0.7.47
4
4
  Summary: CLI for Conduct AI — secure, govern, 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.7.46"
7
+ version = "0.7.47"
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" }
@@ -1084,7 +1084,7 @@ def _detect_ai_tools() -> list[dict]:
1084
1084
  def _check_json_mcp(path: Path) -> bool:
1085
1085
  try:
1086
1086
  d = json.loads(path.read_text()) if path.exists() else {}
1087
- return "conduct" in d.get("mcpServers", {})
1087
+ return any("conduct" in k for k in d.get("mcpServers", {}))
1088
1088
  except Exception:
1089
1089
  return False
1090
1090
 
@@ -1191,7 +1191,7 @@ def _detect_ai_tools() -> list[dict]:
1191
1191
  vscode_settings = next((p for p in vscode_candidates if p.exists()), None)
1192
1192
  try:
1193
1193
  d = json.loads(vscode_settings.read_text()) if vscode_settings else {}
1194
- mcp_reg = "conduct" in d.get("mcp", {}).get("servers", {})
1194
+ mcp_reg = any("conduct" in k for k in d.get("mcp", {}).get("servers", {}))
1195
1195
  except Exception:
1196
1196
  mcp_reg = False
1197
1197
  # Also check ~/.copilot/mcp-config.json (SSE entry written by guard sync)
@@ -2321,7 +2321,7 @@ def _discover_config_agents() -> list[tuple]:
2321
2321
  return "conduct" in text and "mcp_servers" in text
2322
2322
  import json as _j
2323
2323
  d = _j.loads(text)
2324
- return "conduct" in d.get("mcpServers", {})
2324
+ return any("conduct" in k for k in d.get("mcpServers", {}))
2325
2325
  except Exception:
2326
2326
  return False
2327
2327
 
@@ -2347,6 +2347,7 @@ def _discover_config_agents() -> list[tuple]:
2347
2347
  ("codex", home / ".codex", home / ".codex" / "config.toml", "mcp"),
2348
2348
  ("cursor", home / ".cursor", home / ".cursor" / "mcp.json", "mcp"),
2349
2349
  ("windsurf", home / ".codeium" / "windsurf", home / ".codeium" / "windsurf" / "mcp_config.json", "mcp"),
2350
+ ("copilot", home / ".copilot", home / ".copilot" / "mcp-config.json", "mcp"),
2350
2351
  ]
2351
2352
  for name, check_dir, config_path, _ in TOOLS:
2352
2353
  if check_dir.exists():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.7.46
3
+ Version: 0.7.47
4
4
  Summary: CLI for Conduct AI — secure, govern, 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