conduct-cli 0.7.37__tar.gz → 0.7.39__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.37 → conduct_cli-0.7.39}/PKG-INFO +1 -1
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/pyproject.toml +1 -1
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/guard.py +8 -1
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli.egg-info/PKG-INFO +1 -1
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/README.md +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/setup.cfg +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/setup.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/__init__.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/api.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/guardmcp.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/__init__.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/base.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/posttooluse.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/precompact.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/pretooluse.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/session_parser.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/session_report_push.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/session_start.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/hooks/stop.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/log_util.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/main.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/mcp_server.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/memory.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/paxel.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli/tool_groups.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli.egg-info/entry_points.txt +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli.egg-info/requires.txt +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/src/conduct_cli.egg-info/top_level.txt +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_advisory_and_hook.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_api_client.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_bash_operator_signature.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_blast_radius.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_cmd_run.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_command_word_matcher.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_drain_daemon_health.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_guard_policy.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_guard_savings.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_hook_dispatch.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_journal_drain.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_log_util.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_proxy_coverage.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_proxy_env.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_signed_policy.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_switch.py +0 -0
- {conduct_cli-0.7.37 → conduct_cli-0.7.39}/tests/test_token_lifecycle.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.39"
|
|
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" }
|
|
@@ -1076,6 +1076,13 @@ def _detect_ai_tools() -> list[dict]:
|
|
|
1076
1076
|
mcp_reg = "conduct" in d.get("mcp", {}).get("servers", {})
|
|
1077
1077
|
except Exception:
|
|
1078
1078
|
mcp_reg = False
|
|
1079
|
+
# Also check ~/.copilot/mcp-config.json (SSE entry written by guard sync)
|
|
1080
|
+
if not mcp_reg:
|
|
1081
|
+
try:
|
|
1082
|
+
copilot_cfg = home / ".copilot" / "mcp-config.json"
|
|
1083
|
+
mcp_reg = "conduct-guard" in json.loads(copilot_cfg.read_text()).get("mcpServers", {})
|
|
1084
|
+
except Exception:
|
|
1085
|
+
pass
|
|
1079
1086
|
tools.append({
|
|
1080
1087
|
"name": "vscode",
|
|
1081
1088
|
"mcp_registered": mcp_reg,
|
|
@@ -1415,7 +1422,7 @@ def cmd_guard_sync(args):
|
|
|
1415
1422
|
if workspace_id and agent_token:
|
|
1416
1423
|
mcp_url = "https://api.conductai.ai/guard/mcp"
|
|
1417
1424
|
masked = agent_token[:13] + "•" * 20
|
|
1418
|
-
print(f"\n{BOLD}MCP server{RESET} (Claude.ai, Cursor, Windsurf, any MCP client):")
|
|
1425
|
+
print(f"\n{BOLD}MCP server{RESET} (Claude.ai, Copilot, Cursor, Windsurf, any MCP client):")
|
|
1419
1426
|
print(f" URL: {CYAN}{mcp_url}{RESET}")
|
|
1420
1427
|
print(f" Auth: {CYAN}Bearer {masked}{RESET} {GRAY}(run `conduct token` to reveal){RESET}\n")
|
|
1421
1428
|
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|