conduct-cli 0.7.43__tar.gz → 0.7.44__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 (47) hide show
  1. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/PKG-INFO +1 -1
  2. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/pyproject.toml +1 -1
  3. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/guard.py +12 -18
  4. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli.egg-info/PKG-INFO +1 -1
  5. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/README.md +0 -0
  6. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/setup.cfg +0 -0
  7. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/setup.py +0 -0
  8. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/__init__.py +0 -0
  9. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/api.py +0 -0
  10. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/guardmcp.py +0 -0
  11. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/__init__.py +0 -0
  12. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/base.py +0 -0
  13. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/posttooluse.py +0 -0
  14. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/precompact.py +0 -0
  15. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/pretooluse.py +0 -0
  16. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/session_parser.py +0 -0
  17. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/session_report_push.py +0 -0
  18. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/session_start.py +0 -0
  19. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/hooks/stop.py +0 -0
  20. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/log_util.py +0 -0
  21. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/main.py +0 -0
  22. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/mcp_server.py +0 -0
  23. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/memory.py +0 -0
  24. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/paxel.py +0 -0
  25. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli/tool_groups.py +0 -0
  26. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
  27. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
  28. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli.egg-info/entry_points.txt +0 -0
  29. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli.egg-info/requires.txt +0 -0
  30. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/src/conduct_cli.egg-info/top_level.txt +0 -0
  31. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_advisory_and_hook.py +0 -0
  32. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_api_client.py +0 -0
  33. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_bash_operator_signature.py +0 -0
  34. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_blast_radius.py +0 -0
  35. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_cmd_run.py +0 -0
  36. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_command_word_matcher.py +0 -0
  37. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_drain_daemon_health.py +0 -0
  38. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_guard_policy.py +0 -0
  39. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_guard_savings.py +0 -0
  40. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_hook_dispatch.py +0 -0
  41. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_journal_drain.py +0 -0
  42. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_log_util.py +0 -0
  43. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_proxy_coverage.py +0 -0
  44. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_proxy_env.py +0 -0
  45. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_signed_policy.py +0 -0
  46. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/tests/test_switch.py +0 -0
  47. {conduct_cli-0.7.43 → conduct_cli-0.7.44}/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.43
3
+ Version: 0.7.44
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.43"
7
+ version = "0.7.44"
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" }
@@ -501,6 +501,16 @@ def _patch_copilot_mcp(agent_token: str, api_url: str) -> None:
501
501
  print(f" {GREEN}conduct-guard MCP registered in GitHub Copilot (SSE){RESET}")
502
502
 
503
503
 
504
+ _GUARD_RULES_TEXT = (
505
+ "Before executing any shell command, file write, network request, API call, or code change:\n"
506
+ "- Call guard_check (conductguard MCP tool) with the action and parameters.\n"
507
+ "- If BLOCKED: stop immediately and explain the policy rule to the user.\n"
508
+ "- If WARNING: proceed but surface the warning. If ALLOWED: proceed normally.\n"
509
+ "- Never write credentials, API keys, or secrets to files or output.\n"
510
+ "- Never send PII (emails, names, payment data) to external endpoints."
511
+ )
512
+
513
+
504
514
  def _patch_cursor_global_rules() -> None:
505
515
  """Write ConductGuard policy rules into Cursor's global user rules setting.
506
516
 
@@ -509,16 +519,7 @@ def _patch_cursor_global_rules() -> None:
509
519
  This is soft enforcement (prompt-level), not structural like Claude Code hooks,
510
520
  but ensures Guard policies are visible to the model across all Cursor projects.
511
521
  """
512
- GUARD_RULES = (
513
- "# ConductGuard — team AI policies (managed by conduct guard sync)\n"
514
- "- ALWAYS call guard_check (via conductguard MCP) before running shell commands, "
515
- "reading or writing files, accessing external APIs, or modifying code.\n"
516
- "- NEVER write credentials, API keys, or secrets to files or output.\n"
517
- "- NEVER send PII (emails, names, SSNs, payment data) to external endpoints.\n"
518
- "- If guard_check returns BLOCKED: stop and explain the policy rule to the user.\n"
519
- "- If guard_check returns WARNING: proceed but surface the warning.\n"
520
- "- These rules are enforced by your team's ConductGuard policy. Do not bypass them."
521
- )
522
+ GUARD_RULES = _GUARD_RULES_TEXT
522
523
 
523
524
  candidates = [
524
525
  Path.home() / "Library" / "Application Support" / "Cursor" / "User" / "settings.json",
@@ -559,14 +560,7 @@ def _patch_tool_instruction_files(agent_token: str, api_url: str) -> None:
559
560
 
560
561
  MARKER_START = "<!-- ConductGuard — managed by conduct guard sync -->"
561
562
  MARKER_END = "<!-- /ConductGuard -->"
562
- GUARD_RULES = (
563
- "Before executing any shell command, file write, network request, API call, or code change:\n"
564
- "- Call `guard_check` (conductguard MCP tool) with the action and parameters.\n"
565
- "- If BLOCKED: stop immediately and explain the policy rule to the user.\n"
566
- "- If WARNING: proceed but surface the warning. If ALLOWED: proceed normally.\n"
567
- "- Never write credentials, API keys, or secrets to files or output.\n"
568
- "- Never send PII (emails, names, payment data) to external endpoints."
569
- )
563
+ GUARD_RULES = _GUARD_RULES_TEXT
570
564
 
571
565
  # Pull team instructions from API (non-fatal)
572
566
  team_content = ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.7.43
3
+ Version: 0.7.44
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