conduct-cli 0.7.8__tar.gz → 0.7.9__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 (41) hide show
  1. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/PKG-INFO +1 -1
  2. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/pyproject.toml +1 -1
  3. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/base.py +1 -1
  4. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli.egg-info/PKG-INFO +1 -1
  5. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_hook_dispatch.py +21 -0
  6. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/README.md +0 -0
  7. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/setup.cfg +0 -0
  8. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/setup.py +0 -0
  9. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/__init__.py +0 -0
  10. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/api.py +0 -0
  11. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/guard.py +0 -0
  12. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/guardmcp.py +0 -0
  13. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/__init__.py +0 -0
  14. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/posttooluse.py +0 -0
  15. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/precompact.py +0 -0
  16. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/pretooluse.py +0 -0
  17. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/session_parser.py +0 -0
  18. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/session_report_push.py +0 -0
  19. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/session_start.py +0 -0
  20. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/hooks/stop.py +0 -0
  21. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/log_util.py +0 -0
  22. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/main.py +0 -0
  23. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/mcp_server.py +0 -0
  24. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/memory.py +0 -0
  25. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli/paxel.py +0 -0
  26. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
  27. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
  28. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli.egg-info/entry_points.txt +0 -0
  29. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli.egg-info/requires.txt +0 -0
  30. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/src/conduct_cli.egg-info/top_level.txt +0 -0
  31. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_advisory_and_hook.py +0 -0
  32. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_bash_operator_signature.py +0 -0
  33. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_command_word_matcher.py +0 -0
  34. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_guard_policy.py +0 -0
  35. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_guard_savings.py +0 -0
  36. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_hook_syntax.py +0 -0
  37. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_journal_drain.py +0 -0
  38. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_log_util.py +0 -0
  39. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_proxy_env.py +0 -0
  40. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_signed_policy.py +0 -0
  41. {conduct_cli-0.7.8 → conduct_cli-0.7.9}/tests/test_switch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.7.8
3
+ Version: 0.7.9
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.8"
7
+ version = "0.7.9"
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" }
@@ -227,7 +227,7 @@ def post_event(
227
227
  "clerk_user_id": cfg.get("user_email"),
228
228
  "user_email": cfg.get("user_email"),
229
229
  "ai_tool": detect_ai_tool(),
230
- "tool_call": tool_name,
230
+ "tool_call": tool_name[:255],
231
231
  "input_summary": _safe_summary(tool_input),
232
232
  "decision": decision,
233
233
  "rule_id": rule_id,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conduct-cli
3
- Version: 0.7.8
3
+ Version: 0.7.9
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
@@ -166,6 +166,27 @@ def test_read_tokens_extracts_from_valid_transcript(tmp_path):
166
166
 
167
167
  # ── 5. Journal payload structure ─────────────────────────────────────────────
168
168
 
169
+ def test_post_event_tool_call_fits_db_column(tmp_path):
170
+ """tool_call in journal payload must not exceed 255 chars (DB column limit)."""
171
+ from conduct_cli.hooks import base
172
+
173
+ journal_dir = tmp_path / "journal"
174
+ cfg = {"workspace_id": "test-ws", "user_email": "x@x.com", "api_url": "https://api.conductai.ai"}
175
+ long_name = "mcp__" + "x" * 260 # deliberately over 255
176
+
177
+ with (
178
+ patch.object(base, "JOURNAL_DIR", journal_dir),
179
+ patch.object(base, "JOURNAL_PID_PATH", journal_dir / "drain.pid"),
180
+ patch.object(base, "load_config", return_value=cfg),
181
+ patch.object(base, "ensure_drain_daemon"),
182
+ ):
183
+ base.post_event(long_name, {}, "allowed", session_id="s")
184
+
185
+ files = list(journal_dir.glob("*.json"))
186
+ payload = json.loads(json.loads(files[0].read_text())["payload"])
187
+ assert len(payload["tool_call"]) <= 255, "tool_call must be truncated to 255 chars"
188
+
189
+
169
190
  def test_post_event_journal_payload_has_required_fields(tmp_path):
170
191
  """post_event must journal a payload with workspace_id and hook_session_id."""
171
192
  from conduct_cli.hooks import base
File without changes
File without changes
File without changes