evlog 2.19.1 → 2.19.2
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/dist/adapters/axiom.d.mts +1 -1
- package/dist/adapters/axiom.mjs +2 -2
- package/dist/adapters/better-stack.d.mts +1 -1
- package/dist/adapters/better-stack.mjs +2 -2
- package/dist/adapters/datadog.d.mts +1 -1
- package/dist/adapters/datadog.mjs +2 -2
- package/dist/adapters/fs.d.mts +1 -1
- package/dist/adapters/fs.mjs +1 -1
- package/dist/adapters/hyperdx.d.mts +1 -1
- package/dist/adapters/hyperdx.mjs +1 -1
- package/dist/adapters/memory.d.mts +1 -1
- package/dist/adapters/memory.mjs +1 -1
- package/dist/adapters/otlp.d.mts +1 -1
- package/dist/adapters/otlp.mjs +2 -2
- package/dist/adapters/posthog.d.mts +1 -1
- package/dist/adapters/posthog.mjs +2 -2
- package/dist/adapters/sentry.d.mts +1 -1
- package/dist/adapters/sentry.mjs +2 -2
- package/dist/ai/index.d.mts +1 -1
- package/dist/{audit-D7v6JHj0.d.mts → audit-CBfv3rl1.d.mts} +70 -53
- package/dist/audit-CBfv3rl1.d.mts.map +1 -0
- package/dist/{audit-BQt8yAHo.mjs → audit-CL0q7GJU.mjs} +12 -89
- package/dist/audit-CL0q7GJU.mjs.map +1 -0
- package/dist/audit-action.d.mts +2 -0
- package/dist/audit-action.mjs +74 -0
- package/dist/audit-action.mjs.map +1 -0
- package/dist/audit.d.mts +2 -0
- package/dist/audit.mjs +3 -0
- package/dist/better-auth/index.d.mts +1 -1
- package/dist/browser.d.mts +1 -1
- package/dist/{index-EvnrXvQM.d.mts → catalog-CyemiLYG.d.mts} +4 -3
- package/dist/catalog-CyemiLYG.d.mts.map +1 -0
- package/dist/catalog.d.mts +2 -0
- package/dist/catalog.mjs +205 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/{define-DTQpu4f6.d.mts → define-BuDJpV2b.d.mts} +3 -3
- package/dist/{define-DTQpu4f6.d.mts.map → define-BuDJpV2b.d.mts.map} +1 -1
- package/dist/{drain-fDb-eNwz.mjs → drain-6lV-g7JB.mjs} +2 -2
- package/dist/{drain-fDb-eNwz.mjs.map → drain-6lV-g7JB.mjs.map} +1 -1
- package/dist/elysia/index.d.mts +4 -4
- package/dist/elysia/index.d.mts.map +1 -1
- package/dist/elysia/index.mjs +2 -2
- package/dist/elysia/index.mjs.map +1 -1
- package/dist/{enrich-error-stack-next.node-Dgm_rCf5.mjs → enrich-error-stack-next.node-BecxSKUc.mjs} +1 -1
- package/dist/{enrich-error-stack-next.node-Dgm_rCf5.mjs.map → enrich-error-stack-next.node-BecxSKUc.mjs.map} +1 -1
- package/dist/{enricher-CBRmQw6e.d.mts → enricher-VdBVX4oT.d.mts} +2 -2
- package/dist/{enricher-CBRmQw6e.d.mts.map → enricher-VdBVX4oT.d.mts.map} +1 -1
- package/dist/enrichers.d.mts +2 -2
- package/dist/{error-CpghjrkY.d.mts → error-CPCM5a1D.d.mts} +2 -2
- package/dist/{error-CpghjrkY.d.mts.map → error-CPCM5a1D.d.mts.map} +1 -1
- package/dist/error.d.mts +1 -1
- package/dist/{errors-BLU4Tfpe.d.mts → errors-ZdY6Ohi6.d.mts} +2 -2
- package/dist/{errors-BLU4Tfpe.d.mts.map → errors-ZdY6Ohi6.d.mts.map} +1 -1
- package/dist/express/index.d.mts +4 -4
- package/dist/express/index.d.mts.map +1 -1
- package/dist/express/index.mjs +3 -3
- package/dist/express/index.mjs.map +1 -1
- package/dist/fastify/index.d.mts +4 -4
- package/dist/fastify/index.d.mts.map +1 -1
- package/dist/fastify/index.mjs +4 -2
- package/dist/fastify/index.mjs.map +1 -1
- package/dist/{fork-CgGlAaHa.mjs → fork-Di44utlp.mjs} +2 -2
- package/dist/fork-Di44utlp.mjs.map +1 -0
- package/dist/hono/index.d.mts +3 -3
- package/dist/hono/index.d.mts.map +1 -1
- package/dist/hono/index.mjs +3 -6
- package/dist/hono/index.mjs.map +1 -1
- package/dist/{http-ChVS9GYc.mjs → http-DA3RWQrm.mjs} +2 -2
- package/dist/{http-ChVS9GYc.mjs.map → http-DA3RWQrm.mjs.map} +1 -1
- package/dist/http.d.mts +1 -1
- package/dist/index.d.mts +9 -9
- package/dist/index.mjs +3 -203
- package/dist/{instrumentation-create-BrjQtSKD.d.mts → instrumentation-create-STGmQGQt.d.mts} +2 -2
- package/dist/{instrumentation-create-BrjQtSKD.d.mts.map → instrumentation-create-STGmQGQt.d.mts.map} +1 -1
- package/dist/{integration-DYp2uw8O.mjs → integration-2PpI-bCm.mjs} +2 -2
- package/dist/{integration-DYp2uw8O.mjs.map → integration-2PpI-bCm.mjs.map} +1 -1
- package/dist/{logger-mHIWxBhJ.d.mts → logger-DWTPZ0c1.d.mts} +2 -2
- package/dist/{logger-mHIWxBhJ.d.mts.map → logger-DWTPZ0c1.d.mts.map} +1 -1
- package/dist/logger.d.mts +1 -1
- package/dist/logger.mjs +1 -1
- package/dist/{middleware-B_k4Mrzg.d.mts → middleware-CjVyGyrG.d.mts} +3 -3
- package/dist/middleware-CjVyGyrG.d.mts.map +1 -0
- package/dist/nestjs/index.d.mts +5 -5
- package/dist/nestjs/index.d.mts.map +1 -1
- package/dist/nestjs/index.mjs +3 -3
- package/dist/nestjs/index.mjs.map +1 -1
- package/dist/next/client.d.mts +1 -1
- package/dist/next/index.d.mts +5 -5
- package/dist/next/index.d.mts.map +1 -1
- package/dist/next/index.mjs +3 -3
- package/dist/next/index.mjs.map +1 -1
- package/dist/next/instrumentation/create.d.mts +1 -1
- package/dist/next/instrumentation/create.mjs +3 -1
- package/dist/next/instrumentation/create.mjs.map +1 -1
- package/dist/next/instrumentation.d.mts +1 -1
- package/dist/next/stream.d.mts +1 -1
- package/dist/nitro/errorHandler.mjs +9 -4
- package/dist/nitro/errorHandler.mjs.map +1 -1
- package/dist/nitro/module.d.mts +2 -2
- package/dist/nitro/module.mjs +1 -1
- package/dist/nitro/plugin.mjs +1 -1
- package/dist/nitro/v3/errorHandler.d.mts +0 -10
- package/dist/nitro/v3/errorHandler.mjs +13 -3
- package/dist/nitro/v3/errorHandler.mjs.map +1 -1
- package/dist/nitro/v3/index.d.mts +2 -2
- package/dist/nitro/v3/module.d.mts +1 -1
- package/dist/nitro/v3/module.mjs +1 -1
- package/dist/nitro/v3/plugin.mjs +1 -1
- package/dist/nitro/v3/useLogger.d.mts +2 -2
- package/dist/nitro/v3/useLogger.d.mts.map +1 -1
- package/dist/nitro/v3/useLogger.mjs.map +1 -1
- package/dist/{nitro-_Hda8Deo.d.mts → nitro--E4op34w.d.mts} +2 -2
- package/dist/{nitro-_Hda8Deo.d.mts.map → nitro--E4op34w.d.mts.map} +1 -1
- package/dist/{nitro-ClRZLD1g.mjs → nitro-ClHmVj1H.mjs} +29 -2
- package/dist/nitro-ClHmVj1H.mjs.map +1 -0
- package/dist/{nodeResponse-CIEEbrNE.mjs → nodeResponse-DKrYWrxk.mjs} +1 -1
- package/dist/{nodeResponse-CIEEbrNE.mjs.map → nodeResponse-DKrYWrxk.mjs.map} +1 -1
- package/dist/nuxt/module.d.mts +1 -1
- package/dist/nuxt/module.mjs +2 -2
- package/dist/orpc/index.d.mts +4 -4
- package/dist/orpc/index.d.mts.map +1 -1
- package/dist/orpc/index.mjs +2 -2
- package/dist/orpc/index.mjs.map +1 -1
- package/dist/{package-CNV_CXs8.mjs → package-Bgs0VSDF.mjs} +2 -2
- package/dist/package-Bgs0VSDF.mjs.map +1 -0
- package/dist/{parseError-BeBXEd2V.d.mts → parseError-BwBg-iW4.d.mts} +2 -2
- package/dist/parseError-BwBg-iW4.d.mts.map +1 -0
- package/dist/react-router/index.d.mts +4 -4
- package/dist/react-router/index.d.mts.map +1 -1
- package/dist/react-router/index.mjs +2 -2
- package/dist/react-router/index.mjs.map +1 -1
- package/dist/register-disk-snippet-B_JyhodL.mjs +21 -0
- package/dist/register-disk-snippet-B_JyhodL.mjs.map +1 -0
- package/dist/runtime/client/log.d.mts +1 -1
- package/dist/runtime/server/routes/_evlog/ingest.post.mjs +1 -1
- package/dist/runtime/server/useLogger.d.mts +1 -1
- package/dist/runtime/server/useLogger.mjs.map +1 -1
- package/dist/runtime/utils/parseError.d.mts +2 -2
- package/dist/{storage-7X37OToT.mjs → storage-D4sBVffQ.mjs} +1 -1
- package/dist/storage-D4sBVffQ.mjs.map +1 -0
- package/dist/stream.d.mts +1 -1
- package/dist/stream.mjs +1 -1
- package/dist/sveltekit/index.d.mts +3 -4
- package/dist/sveltekit/index.d.mts.map +1 -1
- package/dist/sveltekit/index.mjs +5 -3
- package/dist/sveltekit/index.mjs.map +1 -1
- package/dist/toolkit.d.mts +7 -7
- package/dist/toolkit.d.mts.map +1 -1
- package/dist/toolkit.mjs +6 -6
- package/dist/types.d.mts +1 -1
- package/dist/{useLogger-Cfv8Ck8b.d.mts → useLogger-DiRWGD33.d.mts} +3 -3
- package/dist/useLogger-DiRWGD33.d.mts.map +1 -0
- package/dist/{utils-CJJG0ZYW.d.mts → utils-XPMPENUK.d.mts} +2 -2
- package/dist/{utils-CJJG0ZYW.d.mts.map → utils-XPMPENUK.d.mts.map} +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/vite/index.d.mts +1 -1
- package/dist/workers.d.mts +3 -3
- package/dist/workers.d.mts.map +1 -1
- package/dist/workers.mjs +1 -1
- package/dist/workers.mjs.map +1 -1
- package/package.json +9 -1
- package/dist/audit-BQt8yAHo.mjs.map +0 -1
- package/dist/audit-D7v6JHj0.d.mts.map +0 -1
- package/dist/fork-CgGlAaHa.mjs.map +0 -1
- package/dist/index-EvnrXvQM.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/middleware-B_k4Mrzg.d.mts.map +0 -1
- package/dist/nitro-ClRZLD1g.mjs.map +0 -1
- package/dist/package-CNV_CXs8.mjs.map +0 -1
- package/dist/parseError-BeBXEd2V.d.mts.map +0 -1
- package/dist/storage-7X37OToT.mjs.map +0 -1
- package/dist/useLogger-Cfv8Ck8b.d.mts.map +0 -1
package/dist/adapters/axiom.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as httpPost } from "../http-
|
|
2
|
-
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig, r as applyDeprecatedAlias } from "../drain-
|
|
1
|
+
import { r as httpPost } from "../http-DA3RWQrm.mjs";
|
|
2
|
+
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig, r as applyDeprecatedAlias } from "../drain-6lV-g7JB.mjs";
|
|
3
3
|
//#region src/adapters/axiom.ts
|
|
4
4
|
const AXIOM_FIELDS = [
|
|
5
5
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { U as DrainContext, ht as WideEvent } from "../audit-CBfv3rl1.mjs";
|
|
2
2
|
//#region src/adapters/better-stack.d.ts
|
|
3
3
|
interface BetterStackConfig {
|
|
4
4
|
/** Better Stack API key (replaces deprecated `sourceToken`). */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as httpPost } from "../http-
|
|
2
|
-
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig, r as applyDeprecatedAlias } from "../drain-
|
|
1
|
+
import { r as httpPost } from "../http-DA3RWQrm.mjs";
|
|
2
|
+
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig, r as applyDeprecatedAlias } from "../drain-6lV-g7JB.mjs";
|
|
3
3
|
//#region src/adapters/better-stack.ts
|
|
4
4
|
const BETTER_STACK_FIELDS = [
|
|
5
5
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { U as DrainContext, ht as WideEvent } from "../audit-CBfv3rl1.mjs";
|
|
2
2
|
//#region src/adapters/datadog.d.ts
|
|
3
3
|
interface DatadogConfig {
|
|
4
4
|
/** Datadog API key with Logs intake permission */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as httpPost } from "../http-
|
|
2
|
-
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig } from "../drain-
|
|
1
|
+
import { r as httpPost } from "../http-DA3RWQrm.mjs";
|
|
2
|
+
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig } from "../drain-6lV-g7JB.mjs";
|
|
3
3
|
//#region src/adapters/datadog.ts
|
|
4
4
|
const DATADOG_FIELDS = [
|
|
5
5
|
{
|
package/dist/adapters/fs.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as LogLevel, U as DrainContext, ht as WideEvent } from "../audit-CBfv3rl1.mjs";
|
|
2
2
|
//#region src/adapters/fs.d.ts
|
|
3
3
|
interface FsConfig {
|
|
4
4
|
/** Directory for log files. Default: `.evlog/logs` */
|
package/dist/adapters/fs.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as resolveAdapterConfig, t as defineDrain } from "../drain-
|
|
1
|
+
import { o as resolveAdapterConfig, t as defineDrain } from "../drain-6lV-g7JB.mjs";
|
|
2
2
|
import { join, sep } from "node:path";
|
|
3
3
|
import { createReadStream } from "node:fs";
|
|
4
4
|
import { appendFile, mkdir, open, readdir, stat, unlink, writeFile } from "node:fs/promises";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as formatPublicEnvKeys, o as resolveAdapterConfig, t as defineDrain } from "../drain-
|
|
1
|
+
import { i as formatPublicEnvKeys, o as resolveAdapterConfig, t as defineDrain } from "../drain-6lV-g7JB.mjs";
|
|
2
2
|
import { sendBatchToOTLP } from "./otlp.mjs";
|
|
3
3
|
//#region src/adapters/hyperdx.ts
|
|
4
4
|
/**
|
package/dist/adapters/memory.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as resolveAdapterConfig, t as defineDrain } from "../drain-
|
|
1
|
+
import { o as resolveAdapterConfig, t as defineDrain } from "../drain-6lV-g7JB.mjs";
|
|
2
2
|
//#region src/adapters/memory.ts
|
|
3
3
|
const DEFAULT_STORE = "default";
|
|
4
4
|
const DEFAULT_MAX_EVENTS = 1e3;
|
package/dist/adapters/otlp.d.mts
CHANGED
package/dist/adapters/otlp.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as httpPost } from "../http-
|
|
2
|
-
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig } from "../drain-
|
|
1
|
+
import { r as httpPost } from "../http-DA3RWQrm.mjs";
|
|
2
|
+
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig } from "../drain-6lV-g7JB.mjs";
|
|
3
3
|
import { n as toOtlpAttributeValue } from "../event-qwAv-7AZ.mjs";
|
|
4
4
|
import { n as OTEL_SEVERITY_TEXT, t as OTEL_SEVERITY_NUMBER } from "../severity-CwXUSHt3.mjs";
|
|
5
5
|
//#region src/adapters/otlp.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as httpPost } from "../http-
|
|
2
|
-
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig, t as defineDrain } from "../drain-
|
|
1
|
+
import { r as httpPost } from "../http-DA3RWQrm.mjs";
|
|
2
|
+
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig, t as defineDrain } from "../drain-6lV-g7JB.mjs";
|
|
3
3
|
import { sendBatchToOTLP } from "./otlp.mjs";
|
|
4
4
|
//#region src/adapters/posthog.ts
|
|
5
5
|
const POSTHOG_FIELDS = [
|
package/dist/adapters/sentry.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as httpPost } from "../http-
|
|
2
|
-
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig } from "../drain-
|
|
1
|
+
import { r as httpPost } from "../http-DA3RWQrm.mjs";
|
|
2
|
+
import { i as formatPublicEnvKeys, n as defineHttpDrain, o as resolveAdapterConfig } from "../drain-6lV-g7JB.mjs";
|
|
3
3
|
import { t as OTEL_SEVERITY_NUMBER } from "../severity-CwXUSHt3.mjs";
|
|
4
4
|
//#region src/adapters/sentry.ts
|
|
5
5
|
const SENTRY_FIELDS = [
|
package/dist/ai/index.d.mts
CHANGED
|
@@ -830,6 +830,9 @@ interface RequestLogger<T extends object = Record<string, unknown>> {
|
|
|
830
830
|
* Available on every logger returned by `createLogger()` / `createRequestLogger()`
|
|
831
831
|
* and on framework loggers exposed via `useLogger()` / `c.get('log')` etc.
|
|
832
832
|
*
|
|
833
|
+
* Optional on the base {@link RequestLogger} interface for structural typing;
|
|
834
|
+
* always present (required) on {@link import('./audit').AuditableLogger}.
|
|
835
|
+
*
|
|
833
836
|
* @example
|
|
834
837
|
* ```ts
|
|
835
838
|
* log.audit({
|
|
@@ -989,7 +992,7 @@ interface RequestLoggerOptions {
|
|
|
989
992
|
* H3 event context with evlog logger attached
|
|
990
993
|
*/
|
|
991
994
|
interface H3EventContext {
|
|
992
|
-
log?:
|
|
995
|
+
log?: AuditableLogger;
|
|
993
996
|
requestId?: string;
|
|
994
997
|
status?: number;
|
|
995
998
|
/** Internal: start time for duration calculation in tail sampling */
|
|
@@ -1043,12 +1046,7 @@ interface ParsedError {
|
|
|
1043
1046
|
raw: unknown;
|
|
1044
1047
|
}
|
|
1045
1048
|
//#endregion
|
|
1046
|
-
//#region src/audit.d.ts
|
|
1047
|
-
/**
|
|
1048
|
-
* Current version of the audit envelope. Bumped when `AuditFields` evolves
|
|
1049
|
-
* in a backward-incompatible way so downstream pipelines can branch on it.
|
|
1050
|
-
*/
|
|
1051
|
-
declare const AUDIT_SCHEMA_VERSION = 1;
|
|
1049
|
+
//#region src/audit-action.d.ts
|
|
1052
1050
|
/**
|
|
1053
1051
|
* Input accepted by `log.audit()`, `audit()`, and `withAudit()`.
|
|
1054
1052
|
*
|
|
@@ -1067,6 +1065,57 @@ interface AuditInput {
|
|
|
1067
1065
|
correlationId?: string;
|
|
1068
1066
|
version?: number;
|
|
1069
1067
|
}
|
|
1068
|
+
/** Options for {@link defineAuditAction}. Same shape as {@link AuditActionDefinition}. */
|
|
1069
|
+
type DefineAuditActionOptions = AuditActionDefinition;
|
|
1070
|
+
/**
|
|
1071
|
+
* Define a typed audit action with optional fixed target type and catalog metadata.
|
|
1072
|
+
*
|
|
1073
|
+
* Returns a curried helper that fills in the action name (and target shape
|
|
1074
|
+
* if provided) so call sites stay terse and the action set is discoverable
|
|
1075
|
+
* in one place. Metadata (`description`, `severity`, `requiresChanges`, …)
|
|
1076
|
+
* is exposed on the factory for introspection, docs, and review tooling.
|
|
1077
|
+
*
|
|
1078
|
+
* @example
|
|
1079
|
+
* ```ts
|
|
1080
|
+
* const refund = defineAuditAction('invoice.refund', {
|
|
1081
|
+
* target: 'invoice',
|
|
1082
|
+
* severity: 'high',
|
|
1083
|
+
* requiresChanges: true,
|
|
1084
|
+
* redactPaths: ['cardNumber'],
|
|
1085
|
+
* })
|
|
1086
|
+
*
|
|
1087
|
+
* log.audit(refund({
|
|
1088
|
+
* actor: { type: 'user', id: user.id },
|
|
1089
|
+
* target: { id: 'inv_889' }, // type inferred as 'invoice'
|
|
1090
|
+
* outcome: 'success',
|
|
1091
|
+
* }))
|
|
1092
|
+
* ```
|
|
1093
|
+
*/
|
|
1094
|
+
declare function defineAuditAction<const TAction extends string, const TOptions extends DefineAuditActionOptions = DefineAuditActionOptions>(action: TAction, options?: TOptions): DefinedAuditAction<TAction, TOptions>;
|
|
1095
|
+
/**
|
|
1096
|
+
* Return type of {@link defineAuditAction}. Accepts a partial input (no
|
|
1097
|
+
* `action`, target type pre-filled when provided).
|
|
1098
|
+
*/
|
|
1099
|
+
type DefinedAuditAction<TAction extends string = string, TOptions extends DefineAuditActionOptions = DefineAuditActionOptions> = ((input: TOptions['target'] extends string ? Omit<AuditInput, 'action' | 'target'> & {
|
|
1100
|
+
target?: Omit<AuditTarget, 'type'> & {
|
|
1101
|
+
type?: TOptions['target'];
|
|
1102
|
+
};
|
|
1103
|
+
} : Omit<AuditInput, 'action'>) => AuditInput) & {
|
|
1104
|
+
readonly action: TAction;
|
|
1105
|
+
readonly target: TOptions['target'];
|
|
1106
|
+
readonly description: TOptions['description'];
|
|
1107
|
+
readonly severity: TOptions['severity'];
|
|
1108
|
+
readonly requiresChanges: TOptions['requiresChanges'];
|
|
1109
|
+
readonly requiresReason: TOptions['requiresReason'];
|
|
1110
|
+
readonly redactPaths: TOptions['redactPaths'];
|
|
1111
|
+
};
|
|
1112
|
+
//#endregion
|
|
1113
|
+
//#region src/audit.d.ts
|
|
1114
|
+
/**
|
|
1115
|
+
* Current version of the audit envelope. Bumped when `AuditFields` evolves
|
|
1116
|
+
* in a backward-incompatible way so downstream pipelines can branch on it.
|
|
1117
|
+
*/
|
|
1118
|
+
declare const AUDIT_SCHEMA_VERSION = 1;
|
|
1070
1119
|
/**
|
|
1071
1120
|
* Build a normalised {@link AuditFields} from caller input. Defaults:
|
|
1072
1121
|
* - `outcome` → `'success'`
|
|
@@ -1213,50 +1262,6 @@ interface AuditDiffOptions {
|
|
|
1213
1262
|
/** Include the full redacted `after` snapshot alongside the patch. */
|
|
1214
1263
|
includeAfter?: boolean;
|
|
1215
1264
|
}
|
|
1216
|
-
/** Options for {@link defineAuditAction}. Same shape as {@link AuditCatalogEntry}. */
|
|
1217
|
-
type DefineAuditActionOptions = AuditActionDefinition;
|
|
1218
|
-
/**
|
|
1219
|
-
* Define a typed audit action with optional fixed target type and catalog metadata.
|
|
1220
|
-
*
|
|
1221
|
-
* Returns a curried helper that fills in the action name (and target shape
|
|
1222
|
-
* if provided) so call sites stay terse and the action set is discoverable
|
|
1223
|
-
* in one place. Metadata (`description`, `severity`, `requiresChanges`, …)
|
|
1224
|
-
* is exposed on the factory for introspection, docs, and review tooling.
|
|
1225
|
-
*
|
|
1226
|
-
* @example
|
|
1227
|
-
* ```ts
|
|
1228
|
-
* const refund = defineAuditAction('invoice.refund', {
|
|
1229
|
-
* target: 'invoice',
|
|
1230
|
-
* severity: 'high',
|
|
1231
|
-
* requiresChanges: true,
|
|
1232
|
-
* redactPaths: ['cardNumber'],
|
|
1233
|
-
* })
|
|
1234
|
-
*
|
|
1235
|
-
* log.audit(refund({
|
|
1236
|
-
* actor: { type: 'user', id: user.id },
|
|
1237
|
-
* target: { id: 'inv_889' }, // type inferred as 'invoice'
|
|
1238
|
-
* outcome: 'success',
|
|
1239
|
-
* }))
|
|
1240
|
-
* ```
|
|
1241
|
-
*/
|
|
1242
|
-
declare function defineAuditAction<const TAction extends string, const TOptions extends DefineAuditActionOptions = DefineAuditActionOptions>(action: TAction, options?: TOptions): DefinedAuditAction<TAction, TOptions>;
|
|
1243
|
-
/**
|
|
1244
|
-
* Return type of {@link defineAuditAction}. Accepts a partial input (no
|
|
1245
|
-
* `action`, target type pre-filled when provided).
|
|
1246
|
-
*/
|
|
1247
|
-
type DefinedAuditAction<TAction extends string = string, TOptions extends DefineAuditActionOptions = DefineAuditActionOptions> = ((input: TOptions['target'] extends string ? Omit<AuditInput, 'action' | 'target'> & {
|
|
1248
|
-
target?: Omit<AuditTarget, 'type'> & {
|
|
1249
|
-
type?: TOptions['target'];
|
|
1250
|
-
};
|
|
1251
|
-
} : Omit<AuditInput, 'action'>) => AuditInput) & {
|
|
1252
|
-
readonly action: TAction;
|
|
1253
|
-
readonly target: TOptions['target'];
|
|
1254
|
-
readonly description: TOptions['description'];
|
|
1255
|
-
readonly severity: TOptions['severity'];
|
|
1256
|
-
readonly requiresChanges: TOptions['requiresChanges'];
|
|
1257
|
-
readonly requiresReason: TOptions['requiresReason'];
|
|
1258
|
-
readonly redactPaths: TOptions['redactPaths'];
|
|
1259
|
-
};
|
|
1260
1265
|
/**
|
|
1261
1266
|
* Test helper that captures every audit event emitted while it is active.
|
|
1262
1267
|
*
|
|
@@ -1294,6 +1299,18 @@ interface AuditMatcher {
|
|
|
1294
1299
|
actor?: Partial<AuditActor>;
|
|
1295
1300
|
target?: Partial<AuditTarget>;
|
|
1296
1301
|
}
|
|
1302
|
+
/**
|
|
1303
|
+
* @internal Hook used by `RequestLogger.emit()` to detect audit-driven
|
|
1304
|
+
* force-keep flags on the accumulated context. Returns whether the event was
|
|
1305
|
+
* marked by `log.audit()` and clears the flag.
|
|
1306
|
+
*/
|
|
1307
|
+
declare function consumeAuditForceKeep(context: Record<string, unknown>): boolean;
|
|
1308
|
+
/**
|
|
1309
|
+
* @internal Decorate the audit field on an event right before drain — fills
|
|
1310
|
+
* in the deterministic idempotency key. Called by the logger pipeline so
|
|
1311
|
+
* it works for both `log.audit()` and direct `log.set({ audit })` paths.
|
|
1312
|
+
*/
|
|
1313
|
+
declare function finalizeAudit(event: WideEvent): void;
|
|
1297
1314
|
/** Shape of the optional better-auth bridge for the audit enricher. */
|
|
1298
1315
|
interface AuditEnricherBetterAuthBridge {
|
|
1299
1316
|
/** Read the current authenticated session for this request, if any. */
|
|
@@ -1428,5 +1445,5 @@ declare function signed(drain: DrainFn, options: SignedOptions): DrainFn;
|
|
|
1428
1445
|
*/
|
|
1429
1446
|
declare const auditRedactPreset: RedactConfig;
|
|
1430
1447
|
//#endregion
|
|
1431
|
-
export {
|
|
1432
|
-
//# sourceMappingURL=audit-
|
|
1448
|
+
export { LogLevel as $, DefinedAuditAction as A, AuditTarget as B, finalizeAudit as C, createPluginRunner as Ct, withAuditMethods as D, getEmptyPluginRunner as Dt, withAudit as E, enricherPlugin as Et, AuditChanges as F, EnvironmentContext as G, DeepPartial as H, AuditFields as I, FieldContext as J, ErrorCode as K, AuditLoggerMethod as L, AuditAction as M, AuditActionDefinition as N, AuditInput as O, AuditActor as P, Log as Q, AuditPatchOp as R, consumeAuditForceKeep as S, RequestLifecycleContext as St, signed as T, drainPlugin as Tt, DrainContext as U, BaseWideEvent as V, EnrichContext as W, IngestPayload as X, H3EventContext as Y, InternalFields as Z, auditDiff as _, ClientLogContext as _t, AuditEnricherOptions as a, RequestLogEntry as at, auditRedactPreset as b, PluginSetupContext as bt, AuditOnlyOptions as c, RouteConfig as ct, MockAudit as d, ServerEvent as dt, LoggerConfig as et, SignedChainState as f, TailSamplingCondition as ft, audit as g, DevTerminalInput as gt, WithAuditOptions as h, WideEvent as ht, AuditEnricherBetterAuthBridge as i, RegisteredErrorCatalogs as it, defineAuditAction as j, DefineAuditActionOptions as k, AuditableLogger as l, SamplingConfig as lt, WithAuditContext as m, TransportConfig as mt, AuditDeniedError as n, RedactConfig as nt, AuditMatcher as o, RequestLogger as ot, SignedOptions as p, TailSamplingContext as pt, ErrorOptions as q, AuditDiffOptions as r, RegisteredAuditCatalogs as rt, AuditMethod as s, RequestLoggerOptions as st, AUDIT_SCHEMA_VERSION as t, ParsedError as tt, DrainFn as u, SamplingRates as ut, auditEnricher as v, EvlogPlugin as vt, mockAudit as w, definePlugin as wt, buildAuditFields as x, RequestFinishContext as xt, auditOnly as y, PluginRunner as yt, AuditSeverity as z };
|
|
1449
|
+
//# sourceMappingURL=audit-CBfv3rl1.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-CBfv3rl1.d.mts","names":[],"sources":["../src/shared/plugin.ts","../src/shared/dev-terminal.ts","../src/types.ts","../src/audit-action.ts","../src/audit.ts"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { colors, cssColors, detectEnvironment, escapeFormatString, formatDuration, getConsoleMethod, getCssLevelColor, getLevelColor, globToRegExp, isBrowser, isDev, isLevelEnabled, matchesPattern } from "./utils.mjs";
|
|
2
|
-
import { n as buildErrorEntries,
|
|
2
|
+
import { n as buildErrorEntries, r as compactStackForStorage } from "./pretty-error-THg0U0w9.mjs";
|
|
3
3
|
import { t as resolveDevTerminal } from "./dev-terminal-D4UaEm17.mjs";
|
|
4
4
|
import { EvlogError } from "./error.mjs";
|
|
5
5
|
import { r as getHeader$1 } from "./headers-VtmnWcfn.mjs";
|
|
@@ -550,11 +550,6 @@ function initLogger(config = {}) {
|
|
|
550
550
|
globalMinLevel = config.minLevel ?? "debug";
|
|
551
551
|
globalPluginRunner = config.plugins?.length ? createPluginRunner(config.plugins) : getEmptyPluginRunner();
|
|
552
552
|
if (globalPluginRunner.plugins.length > 0) globalPluginRunner.runSetup({ env: { ...globalEnv } });
|
|
553
|
-
if (!isBrowser() && typeof process !== "undefined" && process.versions?.node) import("./pretty-error-snippet.node-itfCajBM.mjs").then((n) => n.t).then((mod) => {
|
|
554
|
-
registerPrettyErrorSnippetReader(mod.readCodeSnippetFromDisk);
|
|
555
|
-
}).catch(() => {
|
|
556
|
-
registerPrettyErrorSnippetReader(null);
|
|
557
|
-
});
|
|
558
553
|
const hasAnyDrain = !!globalDrain || globalPluginRunner.hasDrain;
|
|
559
554
|
if (globalSilent && !hasAnyDrain && !config._suppressDrainWarning) console.warn("[evlog] silent mode is enabled but no drain is configured. Events will be built and sampled but not output anywhere. Set a drain via initLogger({ drain }) or a framework hook (evlog:drain).");
|
|
560
555
|
}
|
|
@@ -1542,75 +1537,6 @@ function auditDiff(before, after, options = {}) {
|
|
|
1542
1537
|
return result;
|
|
1543
1538
|
}
|
|
1544
1539
|
/**
|
|
1545
|
-
* Define a typed audit action with optional fixed target type and catalog metadata.
|
|
1546
|
-
*
|
|
1547
|
-
* Returns a curried helper that fills in the action name (and target shape
|
|
1548
|
-
* if provided) so call sites stay terse and the action set is discoverable
|
|
1549
|
-
* in one place. Metadata (`description`, `severity`, `requiresChanges`, …)
|
|
1550
|
-
* is exposed on the factory for introspection, docs, and review tooling.
|
|
1551
|
-
*
|
|
1552
|
-
* @example
|
|
1553
|
-
* ```ts
|
|
1554
|
-
* const refund = defineAuditAction('invoice.refund', {
|
|
1555
|
-
* target: 'invoice',
|
|
1556
|
-
* severity: 'high',
|
|
1557
|
-
* requiresChanges: true,
|
|
1558
|
-
* redactPaths: ['cardNumber'],
|
|
1559
|
-
* })
|
|
1560
|
-
*
|
|
1561
|
-
* log.audit(refund({
|
|
1562
|
-
* actor: { type: 'user', id: user.id },
|
|
1563
|
-
* target: { id: 'inv_889' }, // type inferred as 'invoice'
|
|
1564
|
-
* outcome: 'success',
|
|
1565
|
-
* }))
|
|
1566
|
-
* ```
|
|
1567
|
-
*/
|
|
1568
|
-
function defineAuditAction(action, options) {
|
|
1569
|
-
const targetType = options?.target;
|
|
1570
|
-
const factory = ((input) => {
|
|
1571
|
-
const merged = {
|
|
1572
|
-
...input,
|
|
1573
|
-
action
|
|
1574
|
-
};
|
|
1575
|
-
if (targetType && input.target && !input.target.type) merged.target = {
|
|
1576
|
-
...input.target,
|
|
1577
|
-
type: targetType
|
|
1578
|
-
};
|
|
1579
|
-
return merged;
|
|
1580
|
-
});
|
|
1581
|
-
Object.defineProperties(factory, {
|
|
1582
|
-
action: {
|
|
1583
|
-
value: action,
|
|
1584
|
-
enumerable: true
|
|
1585
|
-
},
|
|
1586
|
-
target: {
|
|
1587
|
-
value: options?.target,
|
|
1588
|
-
enumerable: true
|
|
1589
|
-
},
|
|
1590
|
-
description: {
|
|
1591
|
-
value: options?.description,
|
|
1592
|
-
enumerable: true
|
|
1593
|
-
},
|
|
1594
|
-
severity: {
|
|
1595
|
-
value: options?.severity,
|
|
1596
|
-
enumerable: true
|
|
1597
|
-
},
|
|
1598
|
-
requiresChanges: {
|
|
1599
|
-
value: options?.requiresChanges,
|
|
1600
|
-
enumerable: true
|
|
1601
|
-
},
|
|
1602
|
-
requiresReason: {
|
|
1603
|
-
value: options?.requiresReason,
|
|
1604
|
-
enumerable: true
|
|
1605
|
-
},
|
|
1606
|
-
redactPaths: {
|
|
1607
|
-
value: options?.redactPaths,
|
|
1608
|
-
enumerable: true
|
|
1609
|
-
}
|
|
1610
|
-
});
|
|
1611
|
-
return factory;
|
|
1612
|
-
}
|
|
1613
|
-
/**
|
|
1614
1540
|
* Test helper that captures every audit event emitted while it is active.
|
|
1615
1541
|
*
|
|
1616
1542
|
* Returns `{ events, restore, toIncludeAuditOf, assertAudit }`:
|
|
@@ -1862,17 +1788,14 @@ function signed(drain, options) {
|
|
|
1862
1788
|
}
|
|
1863
1789
|
/**
|
|
1864
1790
|
* @internal Resolve the Web Crypto SubtleCrypto interface. Available natively
|
|
1865
|
-
* in browsers, Node 19+, Bun, Deno,
|
|
1866
|
-
*
|
|
1867
|
-
*
|
|
1791
|
+
* in browsers, Node 19+, Bun, Deno, Cloudflare Workers, and Convex. Requires
|
|
1792
|
+
* `globalThis.crypto.subtle` — no `node:crypto` fallback so non-Node bundlers
|
|
1793
|
+
* can import the main entrypoint without resolving Node built-ins (#387).
|
|
1868
1794
|
*/
|
|
1869
|
-
|
|
1870
|
-
const
|
|
1871
|
-
if (
|
|
1872
|
-
|
|
1873
|
-
/* @vite-ignore */
|
|
1874
|
-
"node:crypto"
|
|
1875
|
-
)).webcrypto.subtle;
|
|
1795
|
+
function getSubtle() {
|
|
1796
|
+
const subtle = globalThis.crypto?.subtle;
|
|
1797
|
+
if (subtle) return subtle;
|
|
1798
|
+
throw new Error("[evlog/audit] Web Crypto is not available. signed() requires globalThis.crypto.subtle (Node 19+, modern browsers, Cloudflare Workers, Convex, Bun, Deno).");
|
|
1876
1799
|
}
|
|
1877
1800
|
function normalizeAlgo(algorithm) {
|
|
1878
1801
|
switch (algorithm.toLowerCase()) {
|
|
@@ -1893,10 +1816,10 @@ function bufToHex(buf) {
|
|
|
1893
1816
|
return out;
|
|
1894
1817
|
}
|
|
1895
1818
|
async function digestHex(algorithm, data) {
|
|
1896
|
-
return bufToHex(await
|
|
1819
|
+
return bufToHex(await getSubtle().digest(normalizeAlgo(algorithm), new TextEncoder().encode(data)));
|
|
1897
1820
|
}
|
|
1898
1821
|
async function hmacHex(algorithm, secret, data) {
|
|
1899
|
-
const subtle =
|
|
1822
|
+
const subtle = getSubtle();
|
|
1900
1823
|
const hash = normalizeAlgo(algorithm);
|
|
1901
1824
|
const key = await subtle.importKey("raw", new TextEncoder().encode(secret), {
|
|
1902
1825
|
name: "HMAC",
|
|
@@ -1946,6 +1869,6 @@ const auditRedactPreset = { paths: [
|
|
|
1946
1869
|
"set-cookie"
|
|
1947
1870
|
] };
|
|
1948
1871
|
//#endregion
|
|
1949
|
-
export {
|
|
1872
|
+
export { drainPlugin as A, isLoggerLocked as C, shouldKeep as D, mergeInto as E, redactEvent as F, resolveRedactConfig as I, getEmptyPluginRunner as M, isGloballyRedacted as N, createPluginRunner as O, normalizeRedactConfig as P, isEnabled as S, markWideEventDrainStarted as T, createRequestLogger as _, auditEnricher as a, getGlobalPluginRunner as b, buildAuditFields as c, mockAudit as d, signed as f, createLogger as g, _log as h, auditDiff as i, enricherPlugin as j, definePlugin as k, consumeAuditForceKeep as l, withAuditMethods as m, AuditDeniedError as n, auditOnly as o, withAudit as p, audit as r, auditRedactPreset as s, AUDIT_SCHEMA_VERSION as t, finalizeAudit as u, getEnvironment as v, lockLogger as w, initLogger as x, getGlobalDrain as y };
|
|
1950
1873
|
|
|
1951
|
-
//# sourceMappingURL=audit-
|
|
1874
|
+
//# sourceMappingURL=audit-CL0q7GJU.mjs.map
|