claude-dev-env 8.46.7 → 8.46.8
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.
|
@@ -6,8 +6,8 @@ pin holds at every level.
|
|
|
6
6
|
|
|
7
7
|
::
|
|
8
8
|
|
|
9
|
-
model omitted ->
|
|
10
|
-
model sonnet or haiku ->
|
|
9
|
+
model omitted -> updatedInput model "opus"
|
|
10
|
+
model sonnet or haiku -> updatedInput model "opus"
|
|
11
11
|
model opus or fable -> no output; the call runs unchanged
|
|
12
12
|
|
|
13
13
|
A model id counts by its family: ``claude-sonnet-5-5`` is sonnet. A fork
|
|
@@ -24,14 +24,10 @@ hooks_root_directory = str(Path(__file__).resolve().parent.parent)
|
|
|
24
24
|
if hooks_root_directory not in sys.path:
|
|
25
25
|
sys.path.insert(0, hooks_root_directory)
|
|
26
26
|
|
|
27
|
-
from hooks_constants.bash_pre_tool_use_dispatcher_constants import
|
|
28
|
-
ALLOW_DECISION,
|
|
29
|
-
HOOK_EVENT_NAME,
|
|
30
|
-
)
|
|
27
|
+
from hooks_constants.bash_pre_tool_use_dispatcher_constants import HOOK_EVENT_NAME
|
|
31
28
|
from hooks_constants.pre_tool_use_allow_output import (
|
|
32
29
|
HOOK_EVENT_NAME_KEY,
|
|
33
30
|
HOOK_SPECIFIC_OUTPUT_KEY,
|
|
34
|
-
PERMISSION_DECISION_KEY,
|
|
35
31
|
UPDATED_INPUT_KEY,
|
|
36
32
|
)
|
|
37
33
|
from hooks_constants.pre_tool_use_stdin import read_hook_input_dictionary_from_stdin
|
|
@@ -84,7 +80,6 @@ def decide_hook_output(tool_input: object) -> dict[str, object] | None:
|
|
|
84
80
|
return {
|
|
85
81
|
HOOK_SPECIFIC_OUTPUT_KEY: {
|
|
86
82
|
HOOK_EVENT_NAME_KEY: HOOK_EVENT_NAME,
|
|
87
|
-
PERMISSION_DECISION_KEY: ALLOW_DECISION,
|
|
88
83
|
UPDATED_INPUT_KEY: {**tool_input, MODEL_INPUT_KEY: SUBAGENT_MODEL_ALIAS},
|
|
89
84
|
ADDITIONAL_CONTEXT_KEY: f"{CONTEXT_PREFIX}{previous_model_text}{CONTEXT_SUFFIX}",
|
|
90
85
|
}
|
|
@@ -31,7 +31,7 @@ def test_should_move_the_spawn_to_opus(requested_model: object) -> None:
|
|
|
31
31
|
if requested_model is not None:
|
|
32
32
|
tool_input["model"] = requested_model
|
|
33
33
|
decision = json.loads(_run_hook(tool_input))["hookSpecificOutput"]
|
|
34
|
-
assert
|
|
34
|
+
assert "permissionDecision" not in decision
|
|
35
35
|
assert decision["updatedInput"] == {**SPAWN_INPUT, "model": "opus"}
|
|
36
36
|
|
|
37
37
|
|
|
@@ -51,7 +51,7 @@ def _hook_specific_output(stdout: str) -> dict[str, object]:
|
|
|
51
51
|
def _assert_reshaped(stdout: str) -> None:
|
|
52
52
|
decision = _hook_specific_output(stdout)
|
|
53
53
|
assert decision["hookEventName"] == "PreToolUse"
|
|
54
|
-
assert
|
|
54
|
+
assert "permissionDecision" not in decision
|
|
55
55
|
assert decision["updatedInput"] == {
|
|
56
56
|
**SPAWN_INPUT,
|
|
57
57
|
"model": "opus",
|
|
@@ -7,7 +7,7 @@ beside it, or the script ``COORDINATOR_USAGE_PACE_SCRIPT`` names.
|
|
|
7
7
|
::
|
|
8
8
|
|
|
9
9
|
usage under pace (exit 1) -> no output; the call runs unchanged
|
|
10
|
-
over pace (exit 0) or unreadable ->
|
|
10
|
+
over pace (exit 0) or unreadable -> updatedInput:
|
|
11
11
|
model "opus", effort "low"
|
|
12
12
|
input that cannot be reshaped -> deny with a one-line reason
|
|
13
13
|
|
|
@@ -27,10 +27,7 @@ hooks_root_directory = str(Path(__file__).resolve().parent.parent)
|
|
|
27
27
|
if hooks_root_directory not in sys.path:
|
|
28
28
|
sys.path.insert(0, hooks_root_directory)
|
|
29
29
|
|
|
30
|
-
from hooks_constants.bash_pre_tool_use_dispatcher_constants import
|
|
31
|
-
ALLOW_DECISION,
|
|
32
|
-
HOOK_EVENT_NAME,
|
|
33
|
-
)
|
|
30
|
+
from hooks_constants.bash_pre_tool_use_dispatcher_constants import HOOK_EVENT_NAME
|
|
34
31
|
from hooks_constants.pre_tool_use_allow_output import (
|
|
35
32
|
HOOK_EVENT_NAME_KEY,
|
|
36
33
|
HOOK_SPECIFIC_OUTPUT_KEY,
|
|
@@ -130,7 +127,6 @@ def decide_hook_output(
|
|
|
130
127
|
verdict_excerpt = pace_verdict_text.strip()[:PACE_VERDICT_CONTEXT_MAXIMUM_CHARACTERS]
|
|
131
128
|
return _hook_output(
|
|
132
129
|
{
|
|
133
|
-
PERMISSION_DECISION_KEY: ALLOW_DECISION,
|
|
134
130
|
UPDATED_INPUT_KEY: reshaped_input,
|
|
135
131
|
ADDITIONAL_CONTEXT_KEY: RESHAPE_CONTEXT_PREFIX + verdict_excerpt,
|
|
136
132
|
}
|