conduct-cli 0.6.30__tar.gz → 0.6.32__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 (38) hide show
  1. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/PKG-INFO +1 -1
  2. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/pyproject.toml +1 -1
  3. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/guard.py +20 -7
  4. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli.egg-info/PKG-INFO +1 -1
  5. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/README.md +0 -0
  6. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/setup.cfg +0 -0
  7. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/setup.py +0 -0
  8. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/__init__.py +0 -0
  9. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/api.py +0 -0
  10. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/guardmcp.py +0 -0
  11. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/__init__.py +0 -0
  12. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/base.py +0 -0
  13. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/posttooluse.py +0 -0
  14. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/precompact.py +0 -0
  15. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/pretooluse.py +0 -0
  16. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/session_parser.py +0 -0
  17. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/session_start.py +0 -0
  18. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/hooks/stop.py +0 -0
  19. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/log_util.py +0 -0
  20. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/main.py +0 -0
  21. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/mcp_server.py +0 -0
  22. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/memory.py +0 -0
  23. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli/paxel.py +0 -0
  24. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
  25. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
  26. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli.egg-info/entry_points.txt +0 -0
  27. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli.egg-info/requires.txt +0 -0
  28. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/src/conduct_cli.egg-info/top_level.txt +0 -0
  29. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_bash_operator_signature.py +0 -0
  30. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_command_word_matcher.py +0 -0
  31. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_guard_policy.py +0 -0
  32. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_guard_savings.py +0 -0
  33. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_hook_syntax.py +0 -0
  34. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_journal_drain.py +0 -0
  35. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_log_util.py +0 -0
  36. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_proxy_env.py +0 -0
  37. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_signed_policy.py +0 -0
  38. {conduct_cli-0.6.30 → conduct_cli-0.6.32}/tests/test_switch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.6.30
3
+ Version: 0.6.32
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.6.30"
7
+ version = "0.6.32"
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" }
@@ -1936,7 +1936,20 @@ def _discover_config_agents() -> list[tuple]:
1936
1936
  for base in search_paths:
1937
1937
  if not base.exists():
1938
1938
  continue
1939
- for env_file in list(base.glob(".env")) + list(base.glob("**/.env")):
1939
+ try:
1940
+ candidates = list(base.glob(".env"))
1941
+ # ponytail: shallow glob only — deep ** hits system dirs (WhatsApp containers etc.)
1942
+ for sub in base.iterdir() if base.exists() else []:
1943
+ try:
1944
+ if sub.is_dir() and not sub.name.startswith("."):
1945
+ env = sub / ".env"
1946
+ if env.exists():
1947
+ candidates.append(env)
1948
+ except OSError:
1949
+ pass
1950
+ except OSError:
1951
+ continue
1952
+ for env_file in candidates:
1940
1953
  if str(env_file) in seen_envs or ".git" in str(env_file):
1941
1954
  continue
1942
1955
  seen_envs.add(str(env_file))
@@ -1945,7 +1958,7 @@ def _discover_config_agents() -> list[tuple]:
1945
1958
  found_keys = [k for k in LLM_KEYS if k in content]
1946
1959
  if found_keys:
1947
1960
  results.append(("env-agent", env_file, False)) # .env with LLM key = unregistered
1948
- except Exception:
1961
+ except OSError:
1949
1962
  pass
1950
1963
 
1951
1964
  return results
@@ -2097,8 +2110,8 @@ def cmd_guard_discover(args):
2097
2110
 
2098
2111
  cfg = _load_guard_config()
2099
2112
  api_url = _api_url(cfg)
2100
- token = cfg.get("member_token", "")
2101
- hdrs = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
2113
+ api_key = cfg.get("api_key", "")
2114
+ hdrs = {"X-Api-Key": api_key, "Content-Type": "application/json"}
2102
2115
 
2103
2116
  # Config file scan — detect AI tools from known config dirs
2104
2117
  config_agents = []
@@ -2148,9 +2161,9 @@ def cmd_guard_discover(args):
2148
2161
  # POST to API
2149
2162
  try:
2150
2163
  payload = {"triggered_by": "cli", "agents": all_agents}
2151
- resp = _req("POST", f"{api_url}/guard/discover/scan", body=payload, token=token)
2152
- except Exception:
2153
- pass # local output still useful even if API is down
2164
+ _req("POST", f"{api_url}/guard/discover/scan", body=payload, api_key=api_key)
2165
+ except SystemExit:
2166
+ pass # 401/network errors — local output still useful
2154
2167
 
2155
2168
  # Write report if requested
2156
2169
  report_path = getattr(args, "report", None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.6.30
3
+ Version: 0.6.32
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