@autter/runtime-node 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/dist/{chunk-RV4MJNM2.cjs → chunk-37W7YYXO.cjs} +89 -51
- package/dist/{chunk-HKVFURYT.cjs → chunk-7H3FCV4P.cjs} +11 -11
- package/dist/{chunk-LG52CW3V.js → chunk-B5ZMOCEM.js} +15 -1
- package/dist/{chunk-GYTQLITW.cjs → chunk-MOZOUEMA.cjs} +15 -1
- package/dist/{chunk-KA4AOZX2.js → chunk-QKY2OQSO.js} +39 -1
- package/dist/{chunk-QUC6OUE7.js → chunk-UC3QH4PC.js} +1 -1
- package/dist/cli.cjs +8 -8
- package/dist/cli.js +2 -2
- package/dist/index.cjs +186 -164
- package/dist/index.d.cts +25 -2
- package/dist/index.d.ts +25 -2
- package/dist/index.js +25 -3
- package/dist/{sinks-CPGDyfU8.d.cts → sinks-CIdlmYwy.d.cts} +21 -1
- package/dist/{sinks-CPGDyfU8.d.ts → sinks-CIdlmYwy.d.ts} +21 -1
- package/dist/testing.cjs +8 -8
- package/dist/testing.d.cts +2 -2
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +2 -2
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { b as RedactOptions, c as Redactor$1, d as RuntimeLogLevel, e as RuntimeOperationKind, f as RuntimeSink, F as FileSinkOptions, g as RuntimeLogContext, a as RuntimeOutcome, h as RuntimeCarrier, B as BreadcrumbInput } from './sinks-
|
|
3
|
-
export { i as Breadcrumb, j as BreadcrumbLevel, k as BreadcrumbType, l as CODE_PATTERN, n as ClientErrorBody, o as ConsoleSinkOptions, O as OtlpSinkOptions, p as RuntimeError, q as RuntimeErrorCatalog, r as RuntimeErrorDefinition, s as RuntimeErrorExtras, t as RuntimeErrorFactory, u as RuntimeErrorLike, v as RuntimeErrorOptions, R as RuntimeEvent, w as RuntimeLogContextValue, x as RuntimeSinkContext, y as consoleSink, z as defineRuntimeErrors, A as errorAttributes, D as fileSink, E as isRuntimeErrorLike, G as otlpSink, H as redactAttributes,
|
|
2
|
+
import { b as RedactOptions, c as Redactor$1, d as RuntimeLogLevel, e as RuntimeOperationKind, f as RuntimeSink, F as FileSinkOptions, g as RuntimeLogContext, a as RuntimeOutcome, h as RuntimeCarrier, I as IgnoreErrorPattern, B as BreadcrumbInput } from './sinks-CIdlmYwy.cjs';
|
|
3
|
+
export { i as Breadcrumb, j as BreadcrumbLevel, k as BreadcrumbType, l as CODE_PATTERN, n as ClientErrorBody, o as ConsoleSinkOptions, O as OtlpSinkOptions, p as RuntimeError, q as RuntimeErrorCatalog, r as RuntimeErrorDefinition, s as RuntimeErrorExtras, t as RuntimeErrorFactory, u as RuntimeErrorLike, v as RuntimeErrorOptions, R as RuntimeEvent, w as RuntimeLogContextValue, x as RuntimeSinkContext, y as consoleSink, z as defineRuntimeErrors, A as errorAttributes, D as fileSink, E as isRuntimeErrorLike, G as otlpSink, H as redactAttributes, J as redactText, K as toClientError } from './sinks-CIdlmYwy.cjs';
|
|
4
4
|
import { Attributes } from '@opentelemetry/api';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -227,6 +227,25 @@ interface AutterServerOptions {
|
|
|
227
227
|
release?: string;
|
|
228
228
|
/** Head-sampling ratio for regular traces. Default 0.01 (1%). */
|
|
229
229
|
traceSampleRate?: number;
|
|
230
|
+
/**
|
|
231
|
+
* Share of captured errors reported, 0..1 (default 1: all). Applies to
|
|
232
|
+
* `captureException`, error-severity `captureMessage` and `reportOutcome`.
|
|
233
|
+
* Never samples out a fatal message, a crash (uncaught exception) or an
|
|
234
|
+
* unhandled rejection; warnings and info are never sampled. One thrown
|
|
235
|
+
* value is decided once, however many hooks report it. What is sampled
|
|
236
|
+
* out is not counted anywhere: for counted volume control use
|
|
237
|
+
* suppression rules in Autter (ingester 1.9.0). Not `traceSampleRate`,
|
|
238
|
+
* which samples healthy traces.
|
|
239
|
+
*/
|
|
240
|
+
sampleRate?: number;
|
|
241
|
+
/**
|
|
242
|
+
* Errors never reported: strings match when the error's type or message
|
|
243
|
+
* contains them (case-sensitive), RegExps are tested against the type,
|
|
244
|
+
* the message and `"<type>: <message>"`. Applies to every capture path,
|
|
245
|
+
* crashes included. A request that failed still records its failed
|
|
246
|
+
* span and summary: leave those out with a suppression rule in Autter.
|
|
247
|
+
*/
|
|
248
|
+
ignoreErrors?: IgnoreErrorPattern[];
|
|
230
249
|
/**
|
|
231
250
|
* Keep the FULL trace whenever it contains an error: an ERROR-status
|
|
232
251
|
* span (e.g. a 5xx request), a recorded exception, or a
|
|
@@ -783,6 +802,10 @@ interface AutterLoggingOptions {
|
|
|
783
802
|
* (use when the app's own spans are not exported to Autter).
|
|
784
803
|
*/
|
|
785
804
|
exceptions?: "auto" | "log";
|
|
805
|
+
/** Same semantics as initAutterServer: share of captured errors reported (crashes never sampled). */
|
|
806
|
+
sampleRate?: number;
|
|
807
|
+
/** Same semantics as initAutterServer: errors never reported (type or message). */
|
|
808
|
+
ignoreErrors?: IgnoreErrorPattern[];
|
|
786
809
|
}
|
|
787
810
|
interface AutterLogging {
|
|
788
811
|
captureException(error: unknown, attributes?: Attributes): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { b as RedactOptions, c as Redactor$1, d as RuntimeLogLevel, e as RuntimeOperationKind, f as RuntimeSink, F as FileSinkOptions, g as RuntimeLogContext, a as RuntimeOutcome, h as RuntimeCarrier, B as BreadcrumbInput } from './sinks-
|
|
3
|
-
export { i as Breadcrumb, j as BreadcrumbLevel, k as BreadcrumbType, l as CODE_PATTERN, n as ClientErrorBody, o as ConsoleSinkOptions, O as OtlpSinkOptions, p as RuntimeError, q as RuntimeErrorCatalog, r as RuntimeErrorDefinition, s as RuntimeErrorExtras, t as RuntimeErrorFactory, u as RuntimeErrorLike, v as RuntimeErrorOptions, R as RuntimeEvent, w as RuntimeLogContextValue, x as RuntimeSinkContext, y as consoleSink, z as defineRuntimeErrors, A as errorAttributes, D as fileSink, E as isRuntimeErrorLike, G as otlpSink, H as redactAttributes,
|
|
2
|
+
import { b as RedactOptions, c as Redactor$1, d as RuntimeLogLevel, e as RuntimeOperationKind, f as RuntimeSink, F as FileSinkOptions, g as RuntimeLogContext, a as RuntimeOutcome, h as RuntimeCarrier, I as IgnoreErrorPattern, B as BreadcrumbInput } from './sinks-CIdlmYwy.js';
|
|
3
|
+
export { i as Breadcrumb, j as BreadcrumbLevel, k as BreadcrumbType, l as CODE_PATTERN, n as ClientErrorBody, o as ConsoleSinkOptions, O as OtlpSinkOptions, p as RuntimeError, q as RuntimeErrorCatalog, r as RuntimeErrorDefinition, s as RuntimeErrorExtras, t as RuntimeErrorFactory, u as RuntimeErrorLike, v as RuntimeErrorOptions, R as RuntimeEvent, w as RuntimeLogContextValue, x as RuntimeSinkContext, y as consoleSink, z as defineRuntimeErrors, A as errorAttributes, D as fileSink, E as isRuntimeErrorLike, G as otlpSink, H as redactAttributes, J as redactText, K as toClientError } from './sinks-CIdlmYwy.js';
|
|
4
4
|
import { Attributes } from '@opentelemetry/api';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -227,6 +227,25 @@ interface AutterServerOptions {
|
|
|
227
227
|
release?: string;
|
|
228
228
|
/** Head-sampling ratio for regular traces. Default 0.01 (1%). */
|
|
229
229
|
traceSampleRate?: number;
|
|
230
|
+
/**
|
|
231
|
+
* Share of captured errors reported, 0..1 (default 1: all). Applies to
|
|
232
|
+
* `captureException`, error-severity `captureMessage` and `reportOutcome`.
|
|
233
|
+
* Never samples out a fatal message, a crash (uncaught exception) or an
|
|
234
|
+
* unhandled rejection; warnings and info are never sampled. One thrown
|
|
235
|
+
* value is decided once, however many hooks report it. What is sampled
|
|
236
|
+
* out is not counted anywhere: for counted volume control use
|
|
237
|
+
* suppression rules in Autter (ingester 1.9.0). Not `traceSampleRate`,
|
|
238
|
+
* which samples healthy traces.
|
|
239
|
+
*/
|
|
240
|
+
sampleRate?: number;
|
|
241
|
+
/**
|
|
242
|
+
* Errors never reported: strings match when the error's type or message
|
|
243
|
+
* contains them (case-sensitive), RegExps are tested against the type,
|
|
244
|
+
* the message and `"<type>: <message>"`. Applies to every capture path,
|
|
245
|
+
* crashes included. A request that failed still records its failed
|
|
246
|
+
* span and summary: leave those out with a suppression rule in Autter.
|
|
247
|
+
*/
|
|
248
|
+
ignoreErrors?: IgnoreErrorPattern[];
|
|
230
249
|
/**
|
|
231
250
|
* Keep the FULL trace whenever it contains an error: an ERROR-status
|
|
232
251
|
* span (e.g. a 5xx request), a recorded exception, or a
|
|
@@ -783,6 +802,10 @@ interface AutterLoggingOptions {
|
|
|
783
802
|
* (use when the app's own spans are not exported to Autter).
|
|
784
803
|
*/
|
|
785
804
|
exceptions?: "auto" | "log";
|
|
805
|
+
/** Same semantics as initAutterServer: share of captured errors reported (crashes never sampled). */
|
|
806
|
+
sampleRate?: number;
|
|
807
|
+
/** Same semantics as initAutterServer: errors never reported (type or message). */
|
|
808
|
+
ignoreErrors?: IgnoreErrorPattern[];
|
|
786
809
|
}
|
|
787
810
|
interface AutterLogging {
|
|
788
811
|
captureException(error: unknown, attributes?: Attributes): void;
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
compileIgnore,
|
|
9
9
|
configureRuntimeLogger,
|
|
10
10
|
consoleSink,
|
|
11
|
+
createErrorFilter,
|
|
11
12
|
createRequestState,
|
|
12
13
|
createRuntimeLogger,
|
|
13
14
|
currentOperation,
|
|
@@ -45,10 +46,10 @@ import {
|
|
|
45
46
|
splitFingerprint,
|
|
46
47
|
toClientError,
|
|
47
48
|
withRuntimeOperation
|
|
48
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-QKY2OQSO.js";
|
|
49
50
|
import {
|
|
50
51
|
runDoctor
|
|
51
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-UC3QH4PC.js";
|
|
52
53
|
import {
|
|
53
54
|
COMPAT_MANIFEST,
|
|
54
55
|
CountingExporter,
|
|
@@ -70,7 +71,7 @@ import {
|
|
|
70
71
|
sharedSlot,
|
|
71
72
|
telemetryStats,
|
|
72
73
|
unregisterFlushTargets
|
|
73
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-B5ZMOCEM.js";
|
|
74
75
|
|
|
75
76
|
// src/relay.ts
|
|
76
77
|
var IpWindow = class {
|
|
@@ -1718,6 +1719,7 @@ function initAutterServer(options) {
|
|
|
1718
1719
|
// its span-fed per-route counts.
|
|
1719
1720
|
"autter.metrics_routes": true
|
|
1720
1721
|
});
|
|
1722
|
+
const errorFilter = createErrorFilter({ ignoreErrors: options.ignoreErrors, sampleRate: options.sampleRate });
|
|
1721
1723
|
const rootSampler = new TraceIdRatioBasedSampler(options.traceSampleRate ?? 0.01);
|
|
1722
1724
|
const headSampler = new ParentBasedSampler({
|
|
1723
1725
|
root: rootSampler,
|
|
@@ -1793,6 +1795,16 @@ function initAutterServer(options) {
|
|
|
1793
1795
|
const processTracer = alwaysOnProvider.getTracer("autter-processes");
|
|
1794
1796
|
const llmTracer = alwaysOnProvider.getTracer("autter-llm");
|
|
1795
1797
|
function captureException2(error, attributes) {
|
|
1798
|
+
const isErrValue = isError(error);
|
|
1799
|
+
const reported = errorFilter({
|
|
1800
|
+
type: isErrValue ? String(error.name ?? "") : "Error",
|
|
1801
|
+
message: isErrValue ? String(error.message ?? "") : String(error),
|
|
1802
|
+
crash: attributes?.["autter.unhandled"] === true || attributes?.["autter.unhandled_rejection"] === true
|
|
1803
|
+
});
|
|
1804
|
+
if (!reported) {
|
|
1805
|
+
markCaptured(error);
|
|
1806
|
+
return;
|
|
1807
|
+
}
|
|
1796
1808
|
errorTraceBuffer?.retainActiveTrace();
|
|
1797
1809
|
telemetryStats.markCaptured();
|
|
1798
1810
|
const isErr = isError(error);
|
|
@@ -1845,6 +1857,7 @@ function initAutterServer(options) {
|
|
|
1845
1857
|
if (!reuseActive) span.end();
|
|
1846
1858
|
}
|
|
1847
1859
|
function captureMessage2(message, severity = "warning", attributes) {
|
|
1860
|
+
if (!errorFilter({ type: "Message", message: String(message), severity })) return;
|
|
1848
1861
|
if (severity === "error" || severity === "fatal") {
|
|
1849
1862
|
errorTraceBuffer?.retainActiveTrace();
|
|
1850
1863
|
}
|
|
@@ -1865,6 +1878,7 @@ function initAutterServer(options) {
|
|
|
1865
1878
|
span.end();
|
|
1866
1879
|
}
|
|
1867
1880
|
function reportOutcome2(name, message, attributes) {
|
|
1881
|
+
if (!errorFilter({ type: "OutcomeFailure", message: `${name}: ${message}` })) return;
|
|
1868
1882
|
errorTraceBuffer?.retainActiveTrace();
|
|
1869
1883
|
telemetryStats.markCaptured();
|
|
1870
1884
|
const activeSpan = trace2.getActiveSpan();
|
|
@@ -2418,8 +2432,16 @@ function initAutterLogging(options) {
|
|
|
2418
2432
|
const redact = makeRedactor(options.redactAttributes ?? true);
|
|
2419
2433
|
const mode = options.exceptions ?? "auto";
|
|
2420
2434
|
debugLog(`initialising logger-only service=${options.service} endpoint=${endpoint}`);
|
|
2435
|
+
const errorFilter = createErrorFilter({ ignoreErrors: options.ignoreErrors, sampleRate: options.sampleRate });
|
|
2421
2436
|
function captureException2(error, attributes) {
|
|
2422
2437
|
markCaptured(error);
|
|
2438
|
+
const isErrValue = isError(error);
|
|
2439
|
+
const reported = errorFilter({
|
|
2440
|
+
type: isErrValue ? String(error.name ?? "") : "Error",
|
|
2441
|
+
message: isErrValue ? String(error.message ?? "") : String(error),
|
|
2442
|
+
crash: attributes?.["autter.unhandled"] === true || attributes?.["autter.unhandled_rejection"] === true
|
|
2443
|
+
});
|
|
2444
|
+
if (!reported) return;
|
|
2423
2445
|
const split = splitFingerprint(attributes);
|
|
2424
2446
|
const fingerprint = fingerprintEventAttributes(split.fingerprint, redact.text);
|
|
2425
2447
|
const redacted = redact(split.attributes);
|
|
@@ -250,6 +250,26 @@ interface BreadcrumbInput {
|
|
|
250
250
|
at?: string | number | Date;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
+
/**
|
|
254
|
+
* Client-side volume control shared by the server SDKs (runtime-node,
|
|
255
|
+
* runtime-edge; 1.8.0 / 1.2.0, EI-38): `ignoreErrors` and `sampleRate`.
|
|
256
|
+
* The browser has its own copy in `@autter/runtime-browser/filters`.
|
|
257
|
+
*
|
|
258
|
+
* - `ignoreErrors`: strings or RegExps. A string matches when the error's
|
|
259
|
+
* type or message contains it (case-sensitive, like the message itself);
|
|
260
|
+
* a RegExp is tested against the type, the message and
|
|
261
|
+
* `"<type>: <message>"`. A match is never reported, whatever its severity.
|
|
262
|
+
* - `sampleRate`: 0..1, the share of errors reported. Errors only: warnings
|
|
263
|
+
* and info messages are never sampled, and neither is a fatal error, a
|
|
264
|
+
* crash (uncaught exception) or an unhandled rejection, which may be one.
|
|
265
|
+
* Out of range or not a number: everything is reported.
|
|
266
|
+
*
|
|
267
|
+
* What is filtered here never leaves the process and is counted nowhere.
|
|
268
|
+
* To leave errors out of every SDK at once, and see how many were left out,
|
|
269
|
+
* use suppression rules in Autter (applied by the ingester, 1.9.0).
|
|
270
|
+
*/
|
|
271
|
+
type IgnoreErrorPattern = string | RegExp;
|
|
272
|
+
|
|
253
273
|
/**
|
|
254
274
|
* Where runtime records go. The logger pipeline is
|
|
255
275
|
* `enrich → redact/bound → sinks[]`; each sink receives the same immutable
|
|
@@ -338,4 +358,4 @@ interface MemorySink extends RuntimeSink {
|
|
|
338
358
|
/** Keeps every record in memory — for tests (`@autter/runtime-node/testing`). */
|
|
339
359
|
declare function memorySink(): MemorySink;
|
|
340
360
|
|
|
341
|
-
export { errorAttributes as A, type BreadcrumbInput as B, type CapturedException as C, fileSink as D, isRuntimeErrorLike as E, type FileSinkOptions as F, otlpSink as G, redactAttributes as H,
|
|
361
|
+
export { errorAttributes as A, type BreadcrumbInput as B, type CapturedException as C, fileSink as D, isRuntimeErrorLike as E, type FileSinkOptions as F, otlpSink as G, redactAttributes as H, type IgnoreErrorPattern as I, redactText as J, toClientError as K, type MemorySink as M, type OtlpSinkOptions as O, type RuntimeEvent as R, type RuntimeOutcome as a, type RedactOptions as b, type Redactor$1 as c, type RuntimeLogLevel as d, type RuntimeOperationKind as e, type RuntimeSink as f, type RuntimeLogContext as g, type RuntimeCarrier as h, type Breadcrumb as i, type BreadcrumbLevel as j, type BreadcrumbType as k, CODE_PATTERN as l, memorySink as m, type ClientErrorBody as n, type ConsoleSinkOptions as o, RuntimeError as p, type RuntimeErrorCatalog as q, type RuntimeErrorDefinition as r, type RuntimeErrorExtras as s, type RuntimeErrorFactory as t, type RuntimeErrorLike as u, type RuntimeErrorOptions as v, type RuntimeLogContextValue as w, type RuntimeSinkContext as x, consoleSink as y, defineRuntimeErrors as z };
|
|
@@ -250,6 +250,26 @@ interface BreadcrumbInput {
|
|
|
250
250
|
at?: string | number | Date;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
+
/**
|
|
254
|
+
* Client-side volume control shared by the server SDKs (runtime-node,
|
|
255
|
+
* runtime-edge; 1.8.0 / 1.2.0, EI-38): `ignoreErrors` and `sampleRate`.
|
|
256
|
+
* The browser has its own copy in `@autter/runtime-browser/filters`.
|
|
257
|
+
*
|
|
258
|
+
* - `ignoreErrors`: strings or RegExps. A string matches when the error's
|
|
259
|
+
* type or message contains it (case-sensitive, like the message itself);
|
|
260
|
+
* a RegExp is tested against the type, the message and
|
|
261
|
+
* `"<type>: <message>"`. A match is never reported, whatever its severity.
|
|
262
|
+
* - `sampleRate`: 0..1, the share of errors reported. Errors only: warnings
|
|
263
|
+
* and info messages are never sampled, and neither is a fatal error, a
|
|
264
|
+
* crash (uncaught exception) or an unhandled rejection, which may be one.
|
|
265
|
+
* Out of range or not a number: everything is reported.
|
|
266
|
+
*
|
|
267
|
+
* What is filtered here never leaves the process and is counted nowhere.
|
|
268
|
+
* To leave errors out of every SDK at once, and see how many were left out,
|
|
269
|
+
* use suppression rules in Autter (applied by the ingester, 1.9.0).
|
|
270
|
+
*/
|
|
271
|
+
type IgnoreErrorPattern = string | RegExp;
|
|
272
|
+
|
|
253
273
|
/**
|
|
254
274
|
* Where runtime records go. The logger pipeline is
|
|
255
275
|
* `enrich → redact/bound → sinks[]`; each sink receives the same immutable
|
|
@@ -338,4 +358,4 @@ interface MemorySink extends RuntimeSink {
|
|
|
338
358
|
/** Keeps every record in memory — for tests (`@autter/runtime-node/testing`). */
|
|
339
359
|
declare function memorySink(): MemorySink;
|
|
340
360
|
|
|
341
|
-
export { errorAttributes as A, type BreadcrumbInput as B, type CapturedException as C, fileSink as D, isRuntimeErrorLike as E, type FileSinkOptions as F, otlpSink as G, redactAttributes as H,
|
|
361
|
+
export { errorAttributes as A, type BreadcrumbInput as B, type CapturedException as C, fileSink as D, isRuntimeErrorLike as E, type FileSinkOptions as F, otlpSink as G, redactAttributes as H, type IgnoreErrorPattern as I, redactText as J, toClientError as K, type MemorySink as M, type OtlpSinkOptions as O, type RuntimeEvent as R, type RuntimeOutcome as a, type RedactOptions as b, type Redactor$1 as c, type RuntimeLogLevel as d, type RuntimeOperationKind as e, type RuntimeSink as f, type RuntimeLogContext as g, type RuntimeCarrier as h, type Breadcrumb as i, type BreadcrumbLevel as j, type BreadcrumbType as k, CODE_PATTERN as l, memorySink as m, type ClientErrorBody as n, type ConsoleSinkOptions as o, RuntimeError as p, type RuntimeErrorCatalog as q, type RuntimeErrorDefinition as r, type RuntimeErrorExtras as s, type RuntimeErrorFactory as t, type RuntimeErrorLike as u, type RuntimeErrorOptions as v, type RuntimeLogContextValue as w, type RuntimeSinkContext as x, consoleSink as y, defineRuntimeErrors as z };
|
package/dist/testing.cjs
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('./chunk-
|
|
5
|
+
var _chunk37W7YYXOcjs = require('./chunk-37W7YYXO.cjs');
|
|
6
|
+
require('./chunk-MOZOUEMA.cjs');
|
|
7
7
|
|
|
8
8
|
// src/testing.ts
|
|
9
9
|
function captureRuntime() {
|
|
10
|
-
const sink =
|
|
11
|
-
const remove =
|
|
10
|
+
const sink = _chunk37W7YYXOcjs.memorySink.call(void 0, );
|
|
11
|
+
const remove = _chunk37W7YYXOcjs.addRuntimeSink.call(void 0, sink);
|
|
12
12
|
return {
|
|
13
13
|
get events() {
|
|
14
14
|
return [...sink.events];
|
|
15
15
|
},
|
|
16
16
|
get operations() {
|
|
17
|
-
return sink.events.filter(
|
|
17
|
+
return sink.events.filter(_chunk37W7YYXOcjs.isSummary);
|
|
18
18
|
},
|
|
19
19
|
get logs() {
|
|
20
|
-
return sink.events.filter((event) => !
|
|
20
|
+
return sink.events.filter((event) => !_chunk37W7YYXOcjs.isSummary.call(void 0, event));
|
|
21
21
|
},
|
|
22
22
|
get exceptions() {
|
|
23
23
|
return [...sink.exceptions];
|
|
@@ -98,7 +98,7 @@ var OperationExpectation = class {
|
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
100
|
function expectOperation(source, name) {
|
|
101
|
-
const events = Array.isArray(source) ? source.filter(
|
|
101
|
+
const events = Array.isArray(source) ? source.filter(_chunk37W7YYXOcjs.isSummary) : source.operations;
|
|
102
102
|
const matches = events.filter((event2) => {
|
|
103
103
|
const actual = String(_nullishCoalesce(event2.attributes["autter.operation.name"], () => ( "")));
|
|
104
104
|
return typeof name === "string" ? actual === name : name.test(actual);
|
|
@@ -118,4 +118,4 @@ function expectOperation(source, name) {
|
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
|
|
121
|
-
exports.captureRuntime = captureRuntime; exports.expectOperation = expectOperation; exports.memorySink =
|
|
121
|
+
exports.captureRuntime = captureRuntime; exports.expectOperation = expectOperation; exports.memorySink = _chunk37W7YYXOcjs.memorySink;
|
package/dist/testing.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RuntimeEvent, a as RuntimeOutcome, C as CapturedException } from './sinks-
|
|
2
|
-
export { M as MemorySink, m as memorySink } from './sinks-
|
|
1
|
+
import { R as RuntimeEvent, a as RuntimeOutcome, C as CapturedException } from './sinks-CIdlmYwy.cjs';
|
|
2
|
+
export { M as MemorySink, m as memorySink } from './sinks-CIdlmYwy.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Test helpers — `@autter/runtime-node/testing`. No ingester, no network:
|
package/dist/testing.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RuntimeEvent, a as RuntimeOutcome, C as CapturedException } from './sinks-
|
|
2
|
-
export { M as MemorySink, m as memorySink } from './sinks-
|
|
1
|
+
import { R as RuntimeEvent, a as RuntimeOutcome, C as CapturedException } from './sinks-CIdlmYwy.js';
|
|
2
|
+
export { M as MemorySink, m as memorySink } from './sinks-CIdlmYwy.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Test helpers — `@autter/runtime-node/testing`. No ingester, no network:
|
package/dist/testing.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autter/runtime-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Autter Runtime for Node.js: request wide events, coded errors, operation logging, same-origin browser relay and a curated OpenTelemetry server tracker",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|