conduct-cli 0.6.21__tar.gz → 0.6.23__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.21 → conduct_cli-0.6.23}/PKG-INFO +1 -1
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/pyproject.toml +1 -1
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/session_start.py +36 -23
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli.egg-info/PKG-INFO +1 -1
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/README.md +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/setup.cfg +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/setup.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/__init__.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/api.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/guard.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/guardmcp.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hook_precompact_template.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hook_session_start_template.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hook_stop_template.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hook_template.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/__init__.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/base.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/posttooluse.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/precompact.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/pretooluse.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/session_parser.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/hooks/stop.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/log_util.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/main.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/mcp_server.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/memory.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli/paxel.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli.egg-info/SOURCES.txt +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli.egg-info/dependency_links.txt +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli.egg-info/entry_points.txt +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli.egg-info/requires.txt +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/src/conduct_cli.egg-info/top_level.txt +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_bash_operator_signature.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_command_word_matcher.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_guard_policy.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_guard_savings.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_hook_syntax.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_journal_drain.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_log_util.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_proxy_env.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_signed_policy.py +0 -0
- {conduct_cli-0.6.21 → conduct_cli-0.6.23}/tests/test_switch.py +0 -0
|
@@ -91,11 +91,6 @@ def _backfill_prev_session(current_session_id: str, cwd: str | None) -> None:
|
|
|
91
91
|
if not candidates:
|
|
92
92
|
return
|
|
93
93
|
|
|
94
|
-
prev_session_id = candidates[0].stem
|
|
95
|
-
|
|
96
|
-
from conduct_cli.hooks.session_parser import parse_session
|
|
97
|
-
data = parse_session("claude_code", prev_session_id, cwd)
|
|
98
|
-
|
|
99
94
|
cfg_path = _P.home() / ".conduct" / "config.json"
|
|
100
95
|
if not cfg_path.exists():
|
|
101
96
|
return
|
|
@@ -106,23 +101,30 @@ def _backfill_prev_session(current_session_id: str, cwd: str | None) -> None:
|
|
|
106
101
|
if not server:
|
|
107
102
|
return
|
|
108
103
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
104
|
+
from conduct_cli.hooks.session_parser import parse_session
|
|
105
|
+
for f in candidates:
|
|
106
|
+
try:
|
|
107
|
+
sid = f.stem
|
|
108
|
+
data = parse_session("claude_code", sid, cwd)
|
|
109
|
+
payload = json.dumps({
|
|
110
|
+
"intent": data.intent,
|
|
111
|
+
"tool_sequence": data.tool_sequence,
|
|
112
|
+
"session_parse_status": data.status,
|
|
113
|
+
"session_parser": data.parser,
|
|
114
|
+
}).encode()
|
|
115
|
+
req = urllib.request.Request(
|
|
116
|
+
f"{server}/guard/sessions/{sid}/intent",
|
|
117
|
+
data=payload,
|
|
118
|
+
headers={
|
|
119
|
+
"Content-Type": "application/json",
|
|
120
|
+
"X-API-Key": api_key,
|
|
121
|
+
"X-Workspace-ID": workspace_id,
|
|
122
|
+
},
|
|
123
|
+
method="PATCH",
|
|
124
|
+
)
|
|
125
|
+
urllib.request.urlopen(req, timeout=8)
|
|
126
|
+
except Exception:
|
|
127
|
+
pass
|
|
126
128
|
except Exception:
|
|
127
129
|
pass
|
|
128
130
|
|
|
@@ -139,7 +141,18 @@ def main() -> None:
|
|
|
139
141
|
pass
|
|
140
142
|
|
|
141
143
|
if current_session_id:
|
|
142
|
-
|
|
144
|
+
try:
|
|
145
|
+
import subprocess as _sp
|
|
146
|
+
_sp.Popen(
|
|
147
|
+
[sys.executable, "-c",
|
|
148
|
+
f"import sys; sys.path.insert(0,''); "
|
|
149
|
+
f"from conduct_cli.hooks.session_start import _backfill_prev_session; "
|
|
150
|
+
f"_backfill_prev_session({current_session_id!r}, {cwd!r})"],
|
|
151
|
+
stdout=_sp.DEVNULL, stderr=_sp.DEVNULL,
|
|
152
|
+
start_new_session=True,
|
|
153
|
+
)
|
|
154
|
+
except Exception:
|
|
155
|
+
pass
|
|
143
156
|
|
|
144
157
|
_check_proxy_token()
|
|
145
158
|
|
|
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
|