Repository navigation
Releases: fan56/dsh-jev-core
Release list
v0.1.5
test: hold the event loop while a hanging fetch waits for its deadline
AbortSignal.timeout is unref'd, and these tests' hanging fetches are the
ONLY pending work in a bare test process — on Node 22 the loop drains and
exits with the promise still pending (a real host process always has ref'd
work, so production never sees this). A ref'd keepAlive timer, cleared when
the abort fires, holds the loop until the deadline lands.
v0.1.4
revert: restore the global-fetch transport (0.1.4) — both undici pairings failed in the field
0.1.2 (npm Agent + builtin fetch) never published: version mismatch on
Node 22 CI. 0.1.3 (same-source npm undici Agent+fetch) landed in plain
processes (460ms) but fails inside the real dsh host process ('fetch
failed') — root cause unknown, host network layer interaction suspected.
0.1.4 restores the known-good 0.1.0 transport; issue #1 stays open with
both dead ends documented.
v0.1.3
fix: Agent and fetch must be same-source undici (npm Agent + builtin fetch is a version mismatch)
Node 22 CI caught what Node 26 local did not: the npm undici package's
Agent handed to the BUILT-IN global fetch throws 'invalid onRequestStart
method'. Both now come from the npm undici package.
v0.1.0
feat: @aiwayds/dsh-jev-core 0.1.0 — strict Jev client, keychain-first, jev-optional by design
Shared TypeSafe Jev (System One) client for the dsh ecosystem:
- classify(): one call, N atomic questions; 5s deadline, no retries, no cache
- strict single-level response validation (argmax, exact key sets, sum
tolerance, every asked question answered) - keychain-first key resolution (JEV_KEYCHAIN spec, memoized) with env
fallback; isConfigured() as the jev-optional branch point - typed errors (no-key/timeout/http/invalid-response); the core never
falls back — degradation is the caller's policy