@allansantos-dev/smart-tool 0.9.42 → 0.9.43

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.43 - beta
4
+
5
+ - The session-start audit report (Claude Code and Codex) is also given after a compaction and after a fork, the two
6
+ starts that drop the earlier context; an installed hook shows as outdated until "Update hook" on the setup page, and
7
+ Codex asks for approval again in `/hooks`. The index scope prompt names PPTX, XLSX and PDF next to DOCX.
8
+
3
9
  ## 0.9.42 - beta
4
10
 
5
11
  - Presentations and workbooks of the project are searchable. `.pptx` text comes out per slide under `[slide N]`, with the
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.42 beta. Windows only. What changed in each version: [CHANGELOG.md](CHANGELOG.md).
19
+ **Status:** 0.9.43 beta. Windows only. What changed in each version: [CHANGELOG.md](CHANGELOG.md).
20
20
 
21
21
  ## How it works
22
22
 
package/client_hooks.py CHANGED
@@ -14,7 +14,7 @@ HOOK_SCRIPT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "hooks",
14
14
  MARKER = "pretool_router.py"
15
15
  AUDIT_SCRIPT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "hooks", "session_audit.py")
16
16
  AUDIT_MARKER = "session_audit.py"
17
- AUDIT_MATCHER = "startup|resume|clear"
17
+ AUDIT_MATCHER = "startup|resume|clear|compact|fork"
18
18
  AUDIT_TIMEOUT_S = 10
19
19
  AUDIT_CLIENTS = ("claude", "codex")
20
20
  AUDIT_ON = "current"
package/index_scope.py CHANGED
@@ -387,8 +387,8 @@ def _build_scope_prompt(root, ambiguous_dirs, root_files, doc_context):
387
387
  "not indexed, and an empty `include` indexes only the loose root files. "
388
388
  "Include sources useful for search even if they are gitignored (e.g. docs/, README, "
389
389
  "ADRs). Java, Angular, HTML/CSS, plain text and Markdown are supported sources. "
390
- "DOCX documents are supported through bounded local text extraction; do not exclude "
391
- "useful Word documentation merely because its container is binary. "
390
+ "DOCX, PPTX, XLSX and PDF documents are supported through bounded local text extraction; do not exclude "
391
+ "useful Office or PDF documentation merely because its container is binary. "
392
392
  "Exclude directories that inspection shows are generated artifacts or "
393
393
  "dependencies (compiled binaries, minified bundles, hashed build chunks, vendored "
394
394
  "packages)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allansantos-dev/smart-tool",
3
- "version": "0.9.42",
3
+ "version": "0.9.43",
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/requirements.txt CHANGED
@@ -6,4 +6,4 @@ trafilatura==2.3.0
6
6
  pypdf==6.20.0
7
7
  # Mapas JS/TS: TypeScript 5.9.3 no runtime Node (web_adapters/node/package-lock.json).
8
8
  # Mapas Java/Angular: java-parser 3.0.1 e @angular/compiler 20.3.0 no mesmo runtime Node.
9
- # DOCX: extração com zipfile + ElementTree (stdlib; sem Office/macros/rede).
9
+ # DOCX, PPTX e XLSX: extração com zipfile + ElementTree (stdlib; sem Office/macros/rede). PDF: pypdf, em subprocesso.
package/version.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """Single source of the Smart Tool version and of the User-Agent sent to public APIs."""
2
2
  import re
3
3
 
4
- VERSION = "0.9.42"
4
+ VERSION = "0.9.43"
5
5
  _CONTACT_RE = re.compile(r"^(?:[^\s@()<>;]+@[^\s@()<>;]+\.[^\s@()<>;]+|https?://[^\s()<>;]+)$")
6
6
 
7
7