Skip to content

v1.0.1

Choose a tag to compare

@Txpple Txpple released this 23 Jun 18:04

Maintenance release addressing a multi-dimension code review: robustness fixes, offline test coverage for the page-side layer, and internal cleanup. No new tools (still 62) and no breaking changes.

Robustness

  • WebDAV requests now time out (AbortSignal) so a half-awake Molten box can't hang a tool indefinitely.
  • The headless bridge self-heals a wiped window.__fvtt after an in-world reload (re-inject or reconnect + retry) instead of wedging until a process restart.
  • bulk-delete records per-item failures and keeps going — no lost partial progress on a permanent op.
  • Central error mapping for every tool (cold-box / permission / not-found guidance), with curated messages passed through unchanged and zod/specific messages preserved.
  • Added process-level unhandledRejection / uncaughtException handlers.

Testing

  • Extracted the deterministic page-side logic (SRD spell-slot tables, NPC system-data construction, attack assembly) into pure helpers and unit-tested them offline. 423 → 464 tests.
  • Added tests for the previously-untested error classifier.

Cleanup & tooling

  • Tool wiring extracted to a single src/registry.ts: the handlers map is the source of truth and the advertised tool list is derived from it (no more drift between a registration list and a 180-line dispatch switch).
  • Removed a dead event-push subsystem; removed dead exports; wired knip into CI.
  • Node floor set to 22+; CI now tests Node 22 + 24.

Security

  • The Magic-URL startup token is redacted from logs.
  • copy-asset now guards the source path as well as the destination.

Full changelog: v1.0.0...v1.0.1