Skip to content

Commit 9cbc089

Browse files
authored
v0.39.3: fix structuredClone crash on Node <17 (caught by error channel) (#37)
The v0.33.0 error channel earned its keep. `token-pilot errors` on the user's Mac surfaced 3 logged throws: ReferenceError: structuredClone is not defined at loadConfig (config/loader.js) nodeVersion: v16.17.1 Root cause: config/loader.ts used `structuredClone(DEFAULT_CONFIG)` — a global added in Node 17. `engines: ">=18"` is declared but NOT enforced at runtime, and Claude Code spawns hooks with whatever `node` is first on PATH. On a machine whose PATH resolved to Node 16, loadConfig threw, killing EVERY hook that calls it (hook-read, hook-session-start, hook-pre-bash, hook-pre-grep) on that machine — silently, until the error channel recorded it. Fix: replace both structuredClone calls with a JSON-round-trip clone (`cloneDefaults()`). DEFAULT_CONFIG is plain JSON-serialisable (no Dates/Maps/functions/cycles), so the round-trip is a correct, fully-portable deep clone that works on every Node version. Regression test: tests/config/loader.test.ts deletes the structuredClone global to simulate a Node 16 runtime and confirms loadConfig still returns correct, independent defaults on both the no-config and merge paths. NOTE — this is NOT the 0-task-events cause. post-task does not call loadConfig (verified), so task telemetry failure is independent and still needs the clean restarted-session test. This fix addresses a separate, real, wild-caught crash on Node <17 environments. Tests: 1320/1320 pass (+1).
1 parent b6670d4 commit 9cbc089

30 files changed

Lines changed: 80 additions & 31 deletions

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
},
77
"metadata": {
88
"description": "Token Pilot \u2014 save 60-90% tokens when AI reads code",
9-
"version": "0.39.2"
9+
"version": "0.39.3"
1010
},
1111
"plugins": [
1212
{
1313
"name": "token-pilot",
1414
"source": "./",
1515
"description": "Reduces token consumption by 60-90% via AST-aware lazy file reading, structural symbol navigation, and cross-session tool-usage analytics. 22 MCP tools + 19 subagents + budget watchdog hooks.",
16-
"version": "0.39.2",
16+
"version": "0.39.3",
1717
"author": {
1818
"name": "Digital-Threads"
1919
},

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "token-pilot",
3-
"version": "0.39.2",
3+
"version": "0.39.3",
44
"description": "Saves 60-90% tokens on AI code reading. AST-aware lazy reads, symbol navigation, find_usages, structural git diff/log, edit-safety guard, Task-routing matcher, cross-session telemetry (errors + diagnostics), 25 tp-* subagents tiered to haiku/sonnet/opus with budget watchdog.",
55
"author": {
66
"name": "Digital-Threads",

agents/tp-api-surface-tracker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tools:
99
- mcp__token-pilot__read_symbol
1010
- Bash
1111
model: haiku
12-
token_pilot_version: "0.39.2"
12+
token_pilot_version: "0.39.3"
1313
token_pilot_body_hash: dd184501203fa7f3c73f419c4ffbe33c4be75400cb64a7a51733a3fe23f6e085
1414
requiredMcpServers:
1515
- "token-pilot"

agents/tp-audit-scanner.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ tools:
1111
- Grep
1212
- Read
1313
model: sonnet
14-
token_pilot_version: "0.39.2"
14+
token_pilot_version: "0.39.3"
1515
token_pilot_body_hash: d172f600bf32277ea6eb4cbbee4542ddd698a986dcd96997d33930561964569b
1616
requiredMcpServers:
1717
- "token-pilot"

agents/tp-commit-writer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ tools:
88
- mcp__token-pilot__test_summary
99
- mcp__token-pilot__outline
1010
- Bash
11-
token_pilot_version: "0.39.2"
11+
token_pilot_version: "0.39.3"
1212
token_pilot_body_hash: de64a406b5176de19f7422619c7de7949b1f28865f225402c9cea9255f377428
1313
requiredMcpServers:
1414
- "token-pilot"

agents/tp-context-engineer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tools:
1313
- Edit
1414
- Glob
1515
model: sonnet
16-
token_pilot_version: "0.39.2"
16+
token_pilot_version: "0.39.3"
1717
token_pilot_body_hash: 68b32af2dacd82ebe52c4eec93edb903d452688274c3065218270627c564d8b0
1818
requiredMcpServers:
1919
- "token-pilot"

agents/tp-dead-code-finder.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ tools:
1111
- Grep
1212
- Read
1313
model: sonnet
14-
token_pilot_version: "0.39.2"
14+
token_pilot_version: "0.39.3"
1515
token_pilot_body_hash: d9b7f5b7ae6f4ae21305c775361bcab097cc774370a6d976c093571d46d55021
1616
requiredMcpServers:
1717
- "token-pilot"

agents/tp-debugger.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ tools:
1212
- Read
1313
- Bash
1414
model: sonnet
15-
token_pilot_version: "0.39.2"
15+
token_pilot_version: "0.39.3"
1616
token_pilot_body_hash: 052413de8d92377edcde6ae5c823f5378db304baccfa29e8866467f42553a500
1717
requiredMcpServers:
1818
- "token-pilot"

agents/tp-dep-health.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tools:
99
- Bash
1010
- Read
1111
model: haiku
12-
token_pilot_version: "0.39.2"
12+
token_pilot_version: "0.39.3"
1313
token_pilot_body_hash: e14dc57493d816f8c2e017963e2ef5f66bea50fd0b805a80e8a0d97c968427e7
1414
requiredMcpServers:
1515
- "token-pilot"

agents/tp-doc-writer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tools:
1313
- Edit
1414
- Glob
1515
model: haiku
16-
token_pilot_version: "0.39.2"
16+
token_pilot_version: "0.39.3"
1717
token_pilot_body_hash: 57d741794ab40e31a7ac49c68ea39a9088f5827cdef866ce81bfca1b7c9180cf
1818
requiredMcpServers:
1919
- "token-pilot"

0 commit comments

Comments
 (0)