conduct-cli 0.6.36__tar.gz → 0.6.37__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.6.36 → conduct_cli-0.6.37}/PKG-INFO +1 -1
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/pyproject.toml +1 -1
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/guard.py +1 -1
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/main.py +3 -3
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli.egg-info/PKG-INFO +1 -1
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/README.md +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/setup.cfg +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/setup.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/__init__.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/api.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/guardmcp.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/__init__.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/base.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/posttooluse.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/precompact.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/pretooluse.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/session_parser.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/session_start.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/hooks/stop.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/log_util.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/mcp_server.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/memory.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli/paxel.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli.egg-info/entry_points.txt +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli.egg-info/requires.txt +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/src/conduct_cli.egg-info/top_level.txt +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_bash_operator_signature.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_command_word_matcher.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_guard_policy.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_guard_savings.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_hook_syntax.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_journal_drain.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_log_util.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_proxy_env.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/tests/test_signed_policy.py +0 -0
- {conduct_cli-0.6.36 → conduct_cli-0.6.37}/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.6.
|
|
7
|
+
version = "0.6.37"
|
|
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" }
|
|
@@ -1245,7 +1245,7 @@ def cmd_guard_sync(args):
|
|
|
1245
1245
|
# Print Claude.ai remote MCP URL — requires one-time browser paste
|
|
1246
1246
|
member_token = cfg.get("member_token", "")
|
|
1247
1247
|
if workspace_id and member_token:
|
|
1248
|
-
mcp_url =
|
|
1248
|
+
mcp_url = "https://api.conductai.ai/guard/mcp"
|
|
1249
1249
|
print(f"\n{BOLD}Claude.ai{RESET} (one-time browser setup):")
|
|
1250
1250
|
print(f" Settings → MCP Servers → Add custom server")
|
|
1251
1251
|
print(f" URL: {CYAN}{mcp_url}{RESET}")
|
|
@@ -150,10 +150,10 @@ def _stream_run(server: str, workflow_id: str, run_id: str, workspace_id: str, t
|
|
|
150
150
|
label = payload.get("label") or payload.get("type", "")
|
|
151
151
|
print(f"{BLUE} ▶ {prefix}{label}{RESET}")
|
|
152
152
|
elif kind == "block_completed":
|
|
153
|
-
summary = payload.get("summary") or json.dumps(payload, default=str)[:120]
|
|
153
|
+
summary = payload.get("summary") or json.dumps(payload, default=str, ensure_ascii=False)[:120]
|
|
154
154
|
print(f"{GREEN} ✓ {prefix}{summary}{RESET}")
|
|
155
155
|
elif kind == "block_failed":
|
|
156
|
-
err = payload.get("error", json.dumps(payload, default=str)[:200])
|
|
156
|
+
err = payload.get("error", json.dumps(payload, default=str, ensure_ascii=False)[:200])
|
|
157
157
|
print(f"{RED} ✗ {prefix}{err}{RESET}")
|
|
158
158
|
elif kind == "brain_tool_call":
|
|
159
159
|
summary = payload.get("summary", payload.get("tool", ""))
|
|
@@ -164,7 +164,7 @@ def _stream_run(server: str, workflow_id: str, run_id: str, workspace_id: str, t
|
|
|
164
164
|
err = payload.get("error", "")
|
|
165
165
|
print(f"{BOLD}{RED} ✗ failed: {err}{RESET}")
|
|
166
166
|
else:
|
|
167
|
-
print(f"{GRAY} {kind}: {json.dumps(payload, default=str)[:120]}{RESET}")
|
|
167
|
+
print(f"{GRAY} {kind}: {json.dumps(payload, default=str, ensure_ascii=False)[:120]}{RESET}")
|
|
168
168
|
|
|
169
169
|
if kind in ("run_completed", "run_failed"):
|
|
170
170
|
return kind == "run_completed"
|
|
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
|