Skip to content

Releases: nkcodedev/resili

Resili Beta 1

Resili Beta 1 Pre-release
Pre-release

Choose a tag to compare

@nkcodedev nkcodedev released this 26 Aug 13:50
1733014

Resili Beta 1

Resili Beta 1 is the first public beta of the composable TypeScript resilience toolkit for Node.js and LLM applications.

This release marks the transition from alpha experimentation to a hardened public API. The Core, HTTP adapters, LLM foundation, and provider adapters have completed API reviews, packaging verification, cancellation hardening, and public-registry validation.

What's Included

Core Resilience

@resili/core@0.2.0-beta.1

Nine composable resilience policies:

  • Retry
  • Timeout
  • Circuit Breaker
  • Bulkhead
  • Rate Limiter
  • Fallback
  • Hedge
  • Request Deduplication
  • Cache

The policy pipeline is deterministic and composable, with support for execution context, deadlines, cancellation, events, and metrics.

HTTP Adapters

  • @resili/fetch@0.2.0-beta.1
  • @resili/axios@0.2.0-beta.1
  • @resili/undici@0.2.0-beta.1

All three adapters support caller-initiated AbortSignal cancellation while preserving Resili timeout and retry behavior.

Adapters also expose lifecycle access through on() and destroy() without exposing the underlying Core client.

LLM Resilience

@resili/llm@0.1.0-beta.1

The provider-neutral LLM resilience layer includes:

  • generate()
  • Pull-through stream()
  • Retry and timeout handling
  • Streaming commit-point protection
  • Usage accounting
  • Caller-defined pricing
  • Budget Guard
  • Cancellation
  • Privacy-safe telemetry
  • Provider-neutral errors and events

Streaming retries are allowed only before visible text has been committed to the consumer.

Once the first non-empty text delta has been delivered, Resili will not start another provider generation. A post-commit timeout therefore terminates as a non-retryable LLM timeout instead of risking duplicate output.

LLM Provider Adapters

  • @resili/llm-openai@0.1.0-beta.1
  • @resili/llm-anthropic@0.1.0-beta.1
  • @resili/llm-gemini@0.1.0-beta.1

Provider SDK retry layers are disabled so Resili remains the owner of retry behavior.

Supported integrations:

  • OpenAI Chat Completions
  • Anthropic Messages
  • Google Gemini generateContent / generateContentStream

Install

Core

npm install @resili/core

Fetch

npm install @resili/core @resili/fetch

Axios

npm install @resili/core @resili/axios axios

Undici

npm install @resili/core @resili/undici undici

LLM

npm install @resili/core @resili/llm

OpenAI

npm install @resili/llm-openai openai

Anthropic

npm install @resili/llm-anthropic @anthropic-ai/sdk

Gemini

npm install @resili/llm-gemini @google/genai

Both the latest and beta npm dist-tags currently resolve to Beta 1.

Package Versions

Package Version
@resili/core 0.2.0-beta.1
@resili/fetch 0.2.0-beta.1
@resili/axios 0.2.0-beta.1
@resili/undici 0.2.0-beta.1
@resili/llm 0.1.0-beta.1
@resili/llm-openai 0.1.0-beta.1
@resili/llm-anthropic 0.1.0-beta.1
@resili/llm-gemini 0.1.0-beta.1

Verification

Beta 1 was validated using packages installed exclusively from the public npm registry.

Release verification includes:

  • 641 repository tests
  • Node.js 20 and Node.js 22
  • ESM and CommonJS consumers
  • All 8 public packages
  • Public npm dependency graph verification
  • Single Core and LLM dependency instances
  • HTTP caller cancellation
  • Retry and timeout behavior
  • LLM unary generation
  • LLM pull-through streaming
  • Pre-commit streaming retries
  • Post-commit timeout protection
  • OpenAI, Anthropic, and Gemini adapters
  • Budget Guard accounting and cleanup
  • Telemetry/privacy checks
  • Package-content and workspace-leakage checks

The release-blocking streaming regression test confirms that after visible output is committed, a timeout results in exactly one provider generation with no delayed retry or duplicate text.

Beta Status

This is a public beta.

The primary APIs have completed their beta freeze reviews, but changes may still be made before the first stable release based on real-world usage and feedback.

Known scope boundaries include:

  • Process-local budget/state management
  • No LLM tools support yet
  • No multimodal support yet
  • No embeddings support yet
  • No OpenAI Responses API support yet

Feedback, bug reports, and real-world usage reports are welcome as Resili moves toward its first stable release.

Resili v0.2.0-alpha.3 — Core Hardening

Choose a tag to compare

@nkcodedev nkcodedev released this 25 Aug 10:23

Resili v0.2.0-alpha.3

This release hardens Resili's core runtime and aligns the HTTP and LLM package lines on @resili/core@0.2.0-alpha.3.

Core Hardening

  • cache is now a valid relative policy-order anchor
  • RequestStarted and RequestCompleted are emitted once per top-level execution
  • stats().totals.retries now tracks additional retry attempts
  • Added rate limiter onLimit: "wait" support with maxWaitMs
  • Rate limiter waiting is FIFO per key and respects cancellation and timeout

circuit, bulkhead, and rateLimiter policy maps in stats() remain empty in this alpha. Live policy-state aggregation is not included yet.

HTTP Packages

The HTTP adapters have been republished against the hardened core. Adapter behavior itself is unchanged.

  • @resili/core@0.2.0-alpha.3
  • @resili/fetch@0.2.0-alpha.3
  • @resili/axios@0.2.0-alpha.3
  • @resili/undici@0.2.0-alpha.3

LLM Compatibility Line

The LLM packages have been republished so the entire public package graph resolves to @resili/core@0.2.0-alpha.3.

  • @resili/llm@0.1.0-alpha.2
  • @resili/llm-openai@0.1.0-alpha.2
  • @resili/llm-anthropic@0.1.0-alpha.2

No LLM provider runtime behavior changed in this compatibility release.

Install

Core:

npm install @resili/core@alpha

Fetch:

npm install @resili/core@alpha @resili/fetch@alpha

LLM + OpenAI:

npm install @resili/core@alpha @resili/llm@alpha @resili/llm-openai@alpha openai

LLM + Anthropic:

npm install @resili/core@alpha @resili/llm@alpha @resili/llm-anthropic@alpha @anthropic-ai/sdk
Verification

The release was verified from a clean external npm consumer using only packages downloaded from the public registry.

ESM imports: passed
CommonJS imports: passed
Single deduplicated @resili/core@0.2.0-alpha.3: passed
Single deduplicated @resili/llm@0.1.0-alpha.2: passed
Core hardening smoke tests: passed
Fetch / Axios / Undici adapter smoke tests: passed
OpenAI adapter regression: passed
Anthropic adapter regression: passed
No workspace:* dependency leakage
Alpha Notice

Resili is still in public alpha. APIs and behavior may evolve before the stable release.

Use the alpha dist-tag to explicitly install the current alpha line.

Resili LLM v0.1.0-alpha.4 — Streaming Timeout Fix

Choose a tag to compare

@nkcodedev nkcodedev released this 25 Aug 14:28
def5e9d

Resili LLM v0.1.0-alpha.4

This alpha fixes an important streaming retry boundary discovered during
public-registry verification of the previous alpha.

Fixed

  • Prevent retries after the first non-empty text delta has been delivered
    to the consumer.
  • Prevent duplicate output from multiple provider generations when a
    per-attempt timeout occurs after streaming has committed.
  • Normalize post-commit stream timeouts as:
    • classification: "timeout"
    • retryable: false
  • Preserve retries for failures and timeouts that occur before any visible
    text is delivered.
  • Preserve existing unary generate() retry behavior.

Streaming

Pull-through streaming is available through @resili/llm with adapters for:

  • OpenAI
  • Anthropic
  • Google Gemini

The provider SDK retry layers remain disabled so Resili owns retry behavior.

Packages

@resili/llm@0.1.0-alpha.4
@resili/llm-openai@0.1.0-alpha.4
@resili/llm-anthropic@0.1.0-alpha.4
@resili/llm-gemini@0.1.0-alpha.3

Core dependency:

@resili/core@0.2.0-alpha.3

Install

npm install @resili/core@alpha @resili/llm@alpha

OpenAI:

npm install @resili/llm-openai@alpha openai

Anthropic:

npm install @resili/llm-anthropic@alpha @anthropic-ai/sdk

Gemini:

npm install @resili/llm-gemini@alpha @google/genai

Verification

The release was verified from a fresh consumer project using packages
installed exclusively from the public npm registry.

The regression test that reproduced the alpha.3 streaming timeout defect
now confirms:

  • one provider generation
  • no retry after committed text
  • no duplicate text
  • correct timeout classification
  • pre-commit retries remain functional
  • unary retry behavior remains unchanged

598 repository tests and the public-registry verification suite pass.

Status

Alpha release. APIs may still evolve before the stable release.

Resili LLM v0.1.0-alpha.1 — Provider-neutral LLM resilience

Choose a tag to compare

@nkcodedev nkcodedev released this 24 Aug 17:10

Resili LLM v0.1.0-alpha.1

This is the first public alpha of Resili’s LLM line. It sits beside @resili/core@0.2.0-alpha.2; it is not a v0.3 core release.

LLM Resilience Foundation

@resili/llm adds a provider-neutral resilience layer for LLM workloads.

  • Provider-neutral LLM contracts
  • Normalized token usage
  • Injectable pricing and deterministic cost calculation
  • Budget Guard with estimated-cost preflight
  • Unknown model pricing rejected by default
  • Typed LLM lifecycle events
  • Low-cardinality metrics
  • Resili timeout and retry integration
  • AbortSignal propagation
  • Process-local budget reservations and accounting

OpenAI Adapter

@resili/llm-openai connects OpenAI Chat Completions to the Resili LLM foundation.

  • Caller-owned OpenAI client
  • Chat Completions support
  • OpenAI SDK retries disabled with maxRetries: 0
  • Resili remains the retry engine
  • Normalized OpenAI error classification
  • Usage normalization
  • Cost and Budget Guard integration
  • AbortSignal support
  • API keys, prompts, and responses are not emitted into Resili telemetry by default

Packages

  • @resili/llm@0.1.0-alpha.1
  • @resili/llm-openai@0.1.0-alpha.1
  • Uses @resili/core@0.2.0-alpha.2

Install

Foundation:

pnpm add @resili/core@alpha @resili/llm@alpha

OpenAI:

pnpm add @resili/core@alpha @resili/llm@alpha @resili/llm-openai@alpha openai

Use the alpha dist-tag to install the current public alpha line.

Alpha limitations

  • APIs may still change before stable release
  • OpenAI Chat Completions only
  • No streaming yet
  • No Responses API, tools, vision, or embeddings
  • No Anthropic, Gemini, Azure OpenAI, or Bedrock adapters yet
  • Default budget accounting is process-local
  • maxCostPerRequestUsd is an estimated preflight limit, not a guaranteed hard ceiling on actual spend

Resili v0.2.0-alpha.2 — Intelligent Request Management

Choose a tag to compare

@nkcodedev nkcodedev released this 01 Aug 09:34

Resili v0.2.0-alpha.2

This release completes the v0.2 Intelligent Request Management scope.

Added

  • Hedged Requests
  • Request Deduplication
  • Memory Cache
  • Typed lifecycle events and low-cardinality metrics
  • Benchmark framework
  • Updated README and contributing guide

Improved

  • Policy integration coverage
  • Cancellation, cleanup, and concurrency hardening
  • CI validation for the benchmark workspace
  • Package metadata and release validation

Packages

  • @resili/core@0.2.0-alpha.2
  • @resili/fetch@0.2.0-alpha.2
  • @resili/axios@0.2.0-alpha.2
  • @resili/undici@0.2.0-alpha.2

Status

This is an alpha release. Public APIs may still evolve before the stable 0.2.0 release.