Join browser and server evidence
Correlate browser issues with privacy-masked replay tails and capture thrown, handled, and otherwise unexplained server 5xx responses in one project-fenced history.
@absolutejs/observabilityv0.4.3betaObservabilityManaged AbsoluteJS observability: correlated browser and server errors plus privacy-masked Replay through a credential-safe Elysia relay.
bun add @absolutejs/observabilityManaged browser observability for AbsoluteJS applications. It composes @absolutejs/beacon and @absolutejs/replay, correlates every captured issue with its privacy-masked session tail, and sends both through a same-origin Elysia relay. The relay also composes @absolutejs/errors/elysia: thrown server exceptions, sanitized handled 5xx responses, and unexplained returned 5xx responses enter the same project-fenced issue history with a safe trace id.
The browser receives only its non-secret project id. The relay reads the project-scoped destination and write credential from the server environment. Server error messages, stacks, tags, and context are redacted against secret-shaped environment values before leaving the workload, then redacted again by the control plane before persistence.
Mount the relay before application routes. Its manifest declares the server-boundary placement, so the hosted AbsoluteJS.ai platform does this automatically and the error hook observes every generated handler.
captureHandoffContradiction() promotes a contradictory @absolutejs/handoff summary into the same Issues pipeline at warning severity. It ignores non-contradictory summaries and excludes evidence messages, references, external ids, and raw payloads.
Required server environment:
ABSOLUTE_OBSERVABILITY_ENDPOINT
ABSOLUTE_OBSERVABILITY_TOKEN
ABSOLUTE_PROJECT_ID
Inputs are masked by default. Add class="rr-block" to elements that must never be recorded.
Outcomes
Correlate browser issues with privacy-masked replay tails and capture thrown, handled, and otherwise unexplained server 5xx responses in one project-fenced history.
Promote contradictory agent handoff summaries into the same issue pipeline without copying evidence messages, references, external identifiers, or raw payloads.
Hardening checklist
Follow in order
Working example for Quick start.
import { createManagedObservability } from '@absolutejs/observability';
const observability = createManagedObservability({
project: '6756f6d7-8e09-4ef9-b445-ed07092748ac'
});Working example for Quick start.
import { createManagedObservabilityRelayFromEnv } from '@absolutejs/observability/elysia';
new Elysia().use(createManagedObservabilityRelayFromEnv());Supported entry points declared by this project’s package manifest. Internal dist paths are not part of the package contract.
Public package entry point declared in package.json.
Scripts declared by this project’s package manifest.
Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.
type ManagedObservabilityOptions = {
environment?: string;
project: string;
release?: string;
sampleRate?: number;
signals?: boolean;
vitals?: boolean;
replay?: boolean;
maskAllInputs?: boolean;
maskAllText?: boolean;
recordCanvas?: boolean;
flushIntervalMs?: number;
maxBatch?: number;
};@absolutejs/observability