Releases: SmooAI/observability
Release list
@smooai/observability@0.12.0
Minor Changes
- a071796: SMOODEV-2698 (ADR-097 W1+W2): session-scoped browser log sampling, config-served telemetry settings, and the cross-language parity corpus.
sampleDecision(id, ratio)— deterministic FNV-1a 32-bit over the UTF-8 bytes of the session/trace id, so the decision is stable for a page's lifetime and reproducible byte-identically in the Rust/Python/Go/.NET SDKs. Ratio 0.0/1.0 are exact.shouldEmitLog(...)— one decision point: kill switch → minimum level → warnings/errors always 100% → trace decision inherited where a trace exists → otherwise the session decision. Sampling is per session, never per line, so any trace you can open has 100% of its log lines.loadTelemetrySettings(provider)/resolveTelemetrySettings(raw)—@smooai/configpublic-tier telemetry settings read through an injectable provider seam (the SDK never imports a config client, so it stays usable with no network). Unreachable, malformed, or out-of-range values fall back to the compiled-in ADR-010 defaults, never to "sample everything out".parseTraceparent/formatTraceparent— the first real W3C trace-context implementation in this SDK; strict, rejects all-zero ids.normalizeLevel— canonical UPPERCASE levels, because ADR-096's error-rate query is case-sensitive.parity/sampling-corpus.json— 170 committed golden vectors every language SDK asserts against in its own CI lane.
studio-v0.1.0
What's Changed
- SMOODEV-1227: Rust hot-path service scaffold by @brentrager in #35
Full Changelog: https://github.com/SmooAI/observability/compare/@smooai/observability@0.11.0...studio-v0.1.0
@smooai/observability@0.11.0
Minor Changes
-
82bb589: SMOODEV-1206: per-request TokenProvider auth — matches
@smooai/configpattern, fixes silent OTLP 401s after token expiry.The previous bootstrap minted a Bearer once at SDK init and stuck it in a
headers map. The OTel JS v0.55 OTLP HTTP exporterObject.assigns that
map at construction time, so the original snapshot lived forever — every
export 401'd after the first token expired (~1h). Voice ECS containers
running for hours past expiry lost every span; warm Lambdas inherited
stale snapshots.Fix: new
TokenProvider(direct port of@smooai/config's) that caches
a token in memory, refreshes 60s before expiry, dedupes concurrent
calls, and exposesinvalidate()for 401 retry. New custom
AuthInjectingTraceExporter+AuthInjectingMetricExporterask the
TokenProvider for a fresh Bearer on EVERY export — no snapshot.setupOtelSdknow accepts atokenProvideroption; when set it routes
traces + metrics through the new exporters. The static-token path
(SMOOAI_OBSERVABILITY_TOKEN) andotlpHeaderssnapshot path are
preserved for callers that want to handle auth themselves.
@smooai/observability@0.10.1
Patch Changes
- 170b137: fix(node): re-export
setGenAIAttributes/recordGenAIMessage/ GenAI types from node entry — were missing in 0.10.0, broke backend builds importing the helpers from the bare package name
@smooai/observability@0.9.0
Minor Changes
-
7454d83: SMOODEV-1148: Node Client.captureException now fires BOTH OTel capture AND HTTP webhook transport.
Previously the runtime-native captureHandler (OTel span events) short-circuited the HTTP transport, so Node errors never reached the webhook-backed Errors dashboard. Now both paths fire: OTel keeps emitting span events for tracing/observability, and the webhook also gets the event for the Errors UI.
Node init now registers an HTTP transport (
makeNodeTransport) when adsnis configured. No-op when DSN is empty.
@smooai/observability@0.10.0
Minor Changes
- 59234b2: SMOODEV-1155 + SMOODEV-1156–1159: scaffold multi-language SDK subdirs and add OTel GenAI semantic-conventions helpers.
- New scaffolds under
dotnet/,go/,python/,rust/mirroring the layout of~/dev/smooai/logger/. Each is a placeholder package manifest + README pointing at the canonical TS reference and its tracking ticket. - New
setGenAIAttributes(span, attrs)+recordGenAIMessage(span, role, content)helpers for emitting the OTelgen_ai.*attribute family on LLM and agent spans. Backs the upcoming LLM Observability dashboard (SMOODEV-1160).
- New scaffolds under