Skip to content

Releases: fan56/dsh-jev-core

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 14 Oct 12:28

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

Choose a tag to compare

@github-actions github-actions released this 28 Sep 05:19

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

Choose a tag to compare

@github-actions github-actions released this 28 Sep 05:08

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

Choose a tag to compare

@github-actions github-actions released this 28 Sep 02:08

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