Repository navigation
Jev DevTools 0.5.0
Jev DevTools 0.5.0
Published from 64efa4c494a83207e94c67b42f6744802db18c11.
Compatibility and upgrade
- Runtime support is unchanged. React 18/19, Node 22.12+, and TypeSafe SDK
>=0.7.0 <0.8.0remain supported. Existing request and flow integrations keep their public entry points; APIs remain experimental before 1.0. Websites are separate private apps and are not included in the npm archive. - Inspection data may differ. Expanded credential redaction and default-on
redactAdditionalSensitiveDatamask more captured/displayed fields. The display prop does not remove values from transport or memory; use server-side redaction for data that must never reach a browser. These policies do not alter SDK requests or application execution data. - Replay and comparison are opt-in. Replay supplies captured Jev answers without inference, but tasks and request factories run again and can have side effects. Comparison executes both a replay and the supplied client's run; inspect answer differences as well as the top-level
changedflag. Review exported fixtures and live responses before sharing them.
Changes
Added
-
JevTools website. Add jevtools.dev with six simulated flow diagrams, System One primitive illustrations, a drawer recording, and a Flow API example. Include responsive navigation, reduced-motion support, and an animated hero. The standalone Vite app has isolated dependencies/styles and makes no inference requests. Docs and GitHub links lead to setup and source. (#72)
-
Compare live runs with fixtures. Add
compareWithFixtureandformatComparisontojev-devtools/flow: compare a live client's run with a saved fixture, print the differences for CI logs, and get the live run back as a new fixture. Map items and loop iterations are reported under their composed ids; a step that ran on only one side setschanged. Recording observer failures and mutations to run snapshots cannot corrupt the comparison; captured response snapshots also prevent later observer mutations from hiding answer drift or rewriting the live fixture. Tasks run on both sides. (#32) -
Replay captured flows. Add Copy fixture to the Flows run header and
replayClient(fixture)tojev-devtools/flow, so flow routing can be tested from captured answers with no network or API key. Map items and loop iterations are keyed by their request link (parent-id/index/step-id); tasks run locally on replay.flowFixturebuilds fixtures from captures in code. Fixture controls are scoped to DevTools; the clipboard fallback uses the drawer theme and keyboard focus styles. The repository'snpm run replayhelper accepts a macOS clipboard fixture, a JSON file or stdin for the refund, parallel and synthetic skill-shortlist examples, with optional input and expected-outcome checks. (#29)
Changed
- Fixture copy feedback. Confirm fixture copying with a brief animated Copied button state, respecting reduced-motion preferences. Keep partial-capture warnings and the clipboard fallback visible; clear stale feedback and fallback JSON when the display projection changes, including after pending clipboard operations. Document what fixtures contain and how to replay/share them in the flow guide. (#29)
Fixed
-
Flow stream reconnections. Deliver required flow definitions to each inspector connection, including shared definitions first used by another session and definitions reused after clear or eviction. Avoid repeating definitions the reader still retains, preserve slow-reader catch-up, and reset browser flow caches and pending updates on reconnect. Public APIs and the version-1 stream format are unchanged. Fixes #42. (#68)
-
Observer failures. Contain flow request observer failures before or after SDK dispatch, preserving the real result, request error, and cancellation without invoking the client twice. Custom observers should call through synchronously for trace linkage; failed or deferred recording can lose linkage but cannot replace execution. Public signatures and SDK retry behavior remain unchanged. Fixes #40. (#67)
-
Observer data isolation. Detach task inputs, loop state, nested runs' data, and final values before exposing them to flow observers or redactors, so in-place capture edits cannot change execution. Reuse unchanged data snapshots for recorder caching and preserve shared references within each detached copy to avoid expanding small graphs into large trees. Runtime results and public APIs remain unchanged; non-JSON direct outputs remain available to callers but appear as
[capture unavailable]in observer snapshots. Fixes #38. (#66) -
Response capture failures. Preserve successful request status when response parsing or redaction fails during recording. Omit the unavailable captured result and show a fixed safe warning without exposing redactor error messages or stacks. SDK results, genuine request errors/cancellation, and public APIs remain unchanged. Fixes #37. (#65)
Security
- Credential and personal-data redaction. Always redact documented credential aliases such as
x-api-key,client_secretandsessionTokenfrom DevTools inspection copies without changing SDK or runtime data. Add the default-onredactAdditionalSensitiveDatacomponent prop to mask supported email, phone, postal address, SSN and card-number fields in DevTools views only. Preserve question IDs and Choice labels/probabilities that resemble sensitive field names while masking personal data inside their content. Changing the prop updates existing views immediately and independently per viewer; additional personal values remain in capture/stream/browser memory, while credentials and custom server-redacted values cannot be revealed. No settings endpoint, checkbox, stream change or new Next.js route export is required. Actual HTTP headers/options remain uncaptured; field-name matching is not universal secret detection. Fixes #41. (#69)
Documentation
-
Human-friendly docs and complete API reference. Add docs.jevtools.dev with 17 static pages: setup, framework guides, beginner flow examples, a public API glossary, and agent-readable Markdown. Show inputs, returns, and explained examples; pair synchronous flow definitions with awaited execution. Shiki/Twoslash and curated method/type help run at build time. Preserve deep links, label sticky method sections, and track reading position in the outline. (#70)
-
Docs navigation and presentation. Add local search, copyable pnpm/npm/Yarn/Bun installation tabs, mobile navigation, persistent themes without unstyled page flashes, shared JevTools branding, and a passive GitHub star count. Clarify the independent community-project status. Keep interactions small and lazily loaded, with readable pages and links without JavaScript. (#70)
-
Traceable docs publication. Build content, declarations, and the categorized changelog from one checkout. Emit a source/package-version manifest, reject dirty publication builds, and run browser checks with preview artifacts in CI. Keep GPT Sites deployment manual and separate from merging and npm publication, with an explicit release checklist and publication receipts. (#70)
-
Website and documentation consolidation. Make jevtools.dev and the hosted docs the primary README/package entry points. Align repository guides, the offline setup skill, agent indexes, example archives, and version labels with the 0.5.0 candidate. Preserve repository reference paths and old docs anchors; clearly distinguish pending publication from npm availability. (#73)
Maintenance
-
Landing validation. Add a separate read-only CI job that installs the landing app’s own lockfile, runs its tests, and builds it on Node 24. Keep website validation separate from package publishing and both manual Site deployments. (#73)
-
Drawer CI setup. Run the React 18/19 drawer CI checks and release preparation on Ubuntu 24.04 using the runner's system libraries and Playwright's pinned Chromium headless shell, skipping per-run system package installation. In drawer CI, reuse matching installed React packages and read the lockfile for version overrides, verifying both React packages before browser checks. Package APIs, verification coverage, release approval, and publishing safeguards are unchanged. (#64)
-
Release verification records. Record verified npm/GitHub publication for 0.4.1, including recovery from delayed npm visibility, exact-commit provenance, and archive integrity. Update installation guides to reflect publication.
-
Registry processing timeout. Allow nearly ten minutes for npm version/latest verification after upload instead of about one minute. Keep manual approval, integrity/provenance checks, and the no-republish recovery rule unchanged; no package runtime or API changes.