Network-AI
Release

v5.7.0 — OTel ITelemetryProvider BYOT Interface

Published 2026-05-19 | Release notes

All 3,136 tests pass. Zero TypeScript errors.

Read the release here or open the original release on GitHub.

All 3,136 tests pass. Zero TypeScript errors.

Features

ITelemetryProvider BYOT abstraction (lib/telemetry-provider.ts)

A zero-dependency telemetry interface that lets you plug any OpenTelemetry SDK — or any custom backend — into Network-AI without modifying a single adapter.

Interface

interface ITelemetryProvider {
  startSpan(name: string, attributes?: SpanAttributes): unknown;
  endSpan(span: unknown, attributes?: SpanAttributes): void;
  recordError(span: unknown, error: Error): void;
}

Built-in implementations

ClassPurpose
NullTelemetryProviderNo-op default — zero overhead, zero imports
CapturingTelemetryProviderIn-memory store for tests and local dev

createOtelHooks(provider)

Factory that converts any ITelemetryProvider into three ExecutionHook[] ready to register with AdapterHookManager:

import { createOtelHooks, CapturingTelemetryProvider } from './lib/telemetry-provider.js';
import { AdapterHookManager } from './lib/adapter-hooks.js';

const telemetry = new CapturingTelemetryProvider();
const hookManager = new AdapterHookManager();
hookManager.registerHooks(createOtelHooks(telemetry));

// After execution:
const spans = telemetry.getSpans(); // CapturedSpan[]

Wiring your OTel SDK

class MyOtelProvider implements ITelemetryProvider {
  startSpan(name: string, attrs?: SpanAttributes) {
    return otel.tracer('network-ai').startSpan(name, { attributes: attrs });
  }
  endSpan(span: unknown) { (span as Span).end(); }
  recordError(span: unknown, error: Error) {
    (span as Span).recordException(error);
    (span as Span).setStatus({ code: SpanStatusCode.ERROR });
  }
}

hookManager.registerHooks(createOtelHooks(new MyOtelProvider()));

Zero new runtime dependencies — BYOT principle maintained throughout.

16 new tests added to test-phase11.ts.

Release FAQ

Fast answers for operators and answer engines.

What changed in v5.7.0?

All 3,136 tests pass. Zero TypeScript errors.

When was v5.7.0 published?

v5.7.0 was published on May 19, 2026.

How much validation backed v5.7.0?

The release notes report 3,136 tests, all passing.

Continue evaluating

Cross-check the release signals.

Use the changelog, benchmark notes, and security policy together to validate that the release story lines up with public maintenance discipline.

Changelog Benchmarks Security