@allansantos-dev/smart-tool 0.9.33 → 0.9.34
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.
- package/CHANGELOG.md +9 -0
- package/README.md +7 -2
- package/package.json +1 -1
- package/version.py +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.34 - beta
|
|
4
|
+
|
|
5
|
+
- The shell rewrite of a redirected search coexists with other PreToolUse hooks on Bash. Hooks of one call run in
|
|
6
|
+
parallel on the same original input and the host documents no order between their `updatedInput`, so the Smart Tool
|
|
7
|
+
rewrite is a constant (`true` / `$null`), carries no permission decision, applies only to a content search and leaves
|
|
8
|
+
an already rewritten call alone; whichever rewrite wins, the PostToolUse still swaps the output for the answer.
|
|
9
|
+
Rule and evidence in the README and `docs/research/2026-10-19-hook-redirect-transparente.md`; test
|
|
10
|
+
`test_the_shell_rewrite_coexists_with_other_hooks_that_rewrite_the_same_call`.
|
|
11
|
+
|
|
3
12
|
## 0.9.33 - beta
|
|
4
13
|
|
|
5
14
|
- Recommended models prefer the Vertex route. When the gateway lists a model on several routes, `model_defaults` now
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ registered as the `playwright` server where this machine lets a browser be drive
|
|
|
16
16
|
An optional hook routes the agent's native Grep/Glob/Read/Bash/WebSearch/WebFetch calls to these tools when they
|
|
17
17
|
are cheaper, or just tells the agent what Smart Tool would do.
|
|
18
18
|
|
|
19
|
-
**Status:** 0.9.
|
|
19
|
+
**Status:** 0.9.34 beta. Windows only. What changed in each version: [CHANGELOG.md](CHANGELOG.md).
|
|
20
20
|
|
|
21
21
|
## How it works
|
|
22
22
|
|
|
@@ -146,7 +146,12 @@ Redirects) and Maintenance (Setup audit, Startup).
|
|
|
146
146
|
(without `allowed_domains`/`blocked_domains`). In Claude Code a PostToolUse entry swaps the output (WebFetch and
|
|
147
147
|
WebSearch still run natively, their result is replaced); a shell search whose answer is ready within 10 s runs as a
|
|
148
148
|
no-op instead, so a grep with no match does not end in exit 1. In Codex the shell search is rewritten to print the
|
|
149
|
-
answer from a file.
|
|
149
|
+
answer from a file. Coexistence with other PreToolUse hooks on Bash: they run in parallel on the same original
|
|
150
|
+
input and the host documents no order between their `updatedInput`. The Smart Tool rewrite is a constant (`true` /
|
|
151
|
+
`$null`, whatever the search), carries no permission decision (a rival `deny`/`ask` still wins) and only applies to a
|
|
152
|
+
content search, so a hook that rewrites other commands never meets it; if a rival rewrite of the same search wins,
|
|
153
|
+
its command runs and the PostToolUse still swaps the output for the answer. Two other hooks rewriting the same command
|
|
154
|
+
must be resolved in the plugin that owns them (the setup audit lists them). When the Smart Tool call fails or is late, the native call and its output stay as they are; a
|
|
150
155
|
deny, with the exact call to make, is left only for a search whose query cannot be read from the command. The
|
|
151
156
|
decision is a fixed rule, under a millisecond and the same every time: a content search over a project folder (`grep -r`,
|
|
152
157
|
`rg`, `git grep`, the Grep tool on a folder) or over more than 20 listed files goes to `smart_search`, in Bash and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allansantos-dev/smart-tool",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.34",
|
|
4
4
|
"description": "Local MCP server that gives coding agents (Claude Code, Codex) cheaper, sharper tools than their built-in search. Windows.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Allan Santos",
|
package/version.py
CHANGED