@vibesdotdev/logging 0.0.2 → 1.0.0-rc.5
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/LICENSE +18 -0
- package/README.md +101 -8
- package/dist/audit/audit-retention.job.descriptor.d.ts +60 -0
- package/dist/audit/audit-retention.job.descriptor.d.ts.map +1 -0
- package/dist/audit/audit-retention.job.descriptor.js +42 -0
- package/dist/audit/audit-retention.job.descriptor.js.map +1 -0
- package/dist/audit/audit-retention.job.impl.d.ts +23 -0
- package/dist/audit/audit-retention.job.impl.d.ts.map +1 -0
- package/dist/audit/audit-retention.job.impl.js +24 -0
- package/dist/audit/audit-retention.job.impl.js.map +1 -0
- package/dist/audit/audit.descriptor.d.ts +6 -0
- package/dist/audit/audit.descriptor.d.ts.map +1 -1
- package/dist/audit/audit.descriptor.js +72 -5
- package/dist/audit/audit.descriptor.js.map +1 -1
- package/dist/audit/audit.storage.schema.d.ts +3 -3
- package/dist/audit/index.d.ts +3 -1
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/index.js +4 -1
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/scheduled-audit-retention.d.ts +39 -0
- package/dist/audit/scheduled-audit-retention.d.ts.map +1 -0
- package/dist/audit/scheduled-audit-retention.js +38 -0
- package/dist/audit/scheduled-audit-retention.js.map +1 -0
- package/dist/browser/capture-error.d.ts +66 -0
- package/dist/browser/capture-error.d.ts.map +1 -0
- package/dist/browser/capture-error.js +82 -0
- package/dist/browser/capture-error.js.map +1 -0
- package/dist/browser/index.d.ts +11 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +16 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/logging-browser.plugin.d.ts +9 -0
- package/dist/browser/logging-browser.plugin.d.ts.map +1 -0
- package/dist/browser/logging-browser.plugin.js +26 -0
- package/dist/browser/logging-browser.plugin.js.map +1 -0
- package/dist/browser/plugin.d.ts +2 -0
- package/dist/browser/plugin.d.ts.map +1 -0
- package/dist/browser/plugin.js +2 -0
- package/dist/browser/plugin.js.map +1 -0
- package/dist/browser/read-errors.d.ts +26 -0
- package/dist/browser/read-errors.d.ts.map +1 -0
- package/dist/browser/read-errors.js +38 -0
- package/dist/browser/read-errors.js.map +1 -0
- package/dist/browser/sinks/browser/browser.browser.descriptor.d.ts +10 -0
- package/dist/browser/sinks/browser/browser.browser.descriptor.d.ts.map +1 -0
- package/dist/browser/sinks/browser/browser.browser.descriptor.js +23 -0
- package/dist/browser/sinks/browser/browser.browser.descriptor.js.map +1 -0
- package/dist/browser/sinks/browser/browser.impl.browser.d.ts +83 -0
- package/dist/browser/sinks/browser/browser.impl.browser.d.ts.map +1 -0
- package/dist/browser/sinks/browser/browser.impl.browser.js +247 -0
- package/dist/browser/sinks/browser/browser.impl.browser.js.map +1 -0
- package/dist/cli/failures.d.ts +29 -0
- package/dist/cli/failures.d.ts.map +1 -0
- package/dist/cli/failures.js +44 -0
- package/dist/cli/failures.js.map +1 -0
- package/dist/cli/flags.d.ts +24 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +56 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/log-line.d.ts +23 -0
- package/dist/cli/log-line.d.ts.map +1 -0
- package/dist/cli/log-line.js +39 -0
- package/dist/cli/log-line.js.map +1 -0
- package/dist/cli/logging.logs.descriptor.d.ts +9 -0
- package/dist/cli/logging.logs.descriptor.d.ts.map +1 -0
- package/dist/cli/logging.logs.descriptor.js +16 -0
- package/dist/cli/logging.logs.descriptor.js.map +1 -0
- package/dist/cli/logs.audit.cleanup.descriptor.d.ts +7 -0
- package/dist/cli/logs.audit.cleanup.descriptor.d.ts.map +1 -0
- package/dist/cli/logs.audit.cleanup.descriptor.js +21 -0
- package/dist/cli/logs.audit.cleanup.descriptor.js.map +1 -0
- package/dist/cli/logs.audit.cleanup.impl.d.ts +14 -0
- package/dist/cli/logs.audit.cleanup.impl.d.ts.map +1 -0
- package/dist/cli/logs.audit.cleanup.impl.js +60 -0
- package/dist/cli/logs.audit.cleanup.impl.js.map +1 -0
- package/dist/cli/logs.audit.descriptor.d.ts +9 -0
- package/dist/cli/logs.audit.descriptor.d.ts.map +1 -0
- package/dist/cli/logs.audit.descriptor.js +41 -0
- package/dist/cli/logs.audit.descriptor.js.map +1 -0
- package/dist/cli/logs.audit.group.descriptor.d.ts +7 -0
- package/dist/cli/logs.audit.group.descriptor.d.ts.map +1 -0
- package/dist/cli/logs.audit.group.descriptor.js +15 -0
- package/dist/cli/logs.audit.group.descriptor.js.map +1 -0
- package/dist/cli/logs.audit.impl.d.ts +19 -0
- package/dist/cli/logs.audit.impl.d.ts.map +1 -0
- package/dist/cli/logs.audit.impl.js +83 -0
- package/dist/cli/logs.audit.impl.js.map +1 -0
- package/dist/cli/logs.descriptor.d.ts +1 -8
- package/dist/cli/logs.descriptor.d.ts.map +1 -1
- package/dist/cli/logs.descriptor.js +1 -15
- package/dist/cli/logs.descriptor.js.map +1 -1
- package/dist/cli/logs.list.impl.d.ts +4 -1
- package/dist/cli/logs.list.impl.d.ts.map +1 -1
- package/dist/cli/logs.list.impl.js +60 -63
- package/dist/cli/logs.list.impl.js.map +1 -1
- package/dist/cli/logs.rotate.descriptor.d.ts.map +1 -1
- package/dist/cli/logs.rotate.descriptor.js +7 -3
- package/dist/cli/logs.rotate.descriptor.js.map +1 -1
- package/dist/cli/logs.rotate.impl.d.ts +3 -1
- package/dist/cli/logs.rotate.impl.d.ts.map +1 -1
- package/dist/cli/logs.rotate.impl.js +72 -33
- package/dist/cli/logs.rotate.impl.js.map +1 -1
- package/dist/cli/logs.search.descriptor.d.ts.map +1 -1
- package/dist/cli/logs.search.descriptor.js +4 -0
- package/dist/cli/logs.search.descriptor.js.map +1 -1
- package/dist/cli/logs.search.impl.d.ts +3 -1
- package/dist/cli/logs.search.impl.d.ts.map +1 -1
- package/dist/cli/logs.search.impl.js +114 -108
- package/dist/cli/logs.search.impl.js.map +1 -1
- package/dist/cli/logs.tail.descriptor.d.ts.map +1 -1
- package/dist/cli/logs.tail.descriptor.js +2 -1
- package/dist/cli/logs.tail.descriptor.js.map +1 -1
- package/dist/cli/logs.tail.impl.d.ts +4 -2
- package/dist/cli/logs.tail.impl.d.ts.map +1 -1
- package/dist/cli/logs.tail.impl.js +84 -57
- package/dist/cli/logs.tail.impl.js.map +1 -1
- package/dist/cli/logs.view.impl.d.ts +2 -6
- package/dist/cli/logs.view.impl.d.ts.map +1 -1
- package/dist/cli/logs.view.impl.js +32 -50
- package/dist/cli/logs.view.impl.js.map +1 -1
- package/dist/cli/output.d.ts +29 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +29 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/{logging.cli.plugin.d.ts → cli/plugin.d.ts} +3 -3
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +45 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/resolve-output.d.ts +25 -0
- package/dist/cli/resolve-output.d.ts.map +1 -0
- package/dist/cli/resolve-output.js +75 -0
- package/dist/cli/resolve-output.js.map +1 -0
- package/dist/cli/types.d.ts +13 -5
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +3 -3
- package/dist/client/logging-client.d.ts +31 -0
- package/dist/client/logging-client.d.ts.map +1 -0
- package/dist/client/logging-client.js +44 -0
- package/dist/client/logging-client.js.map +1 -0
- package/dist/config/file-rotation.d.ts +11 -0
- package/dist/config/file-rotation.d.ts.map +1 -0
- package/dist/config/file-rotation.js +18 -0
- package/dist/config/file-rotation.js.map +1 -0
- package/dist/config/load-config.d.ts +7 -0
- package/dist/config/load-config.d.ts.map +1 -0
- package/dist/config/load-config.js +68 -0
- package/dist/config/load-config.js.map +1 -0
- package/dist/config/logging.config.descriptor.d.ts +350 -0
- package/dist/config/logging.config.descriptor.d.ts.map +1 -0
- package/dist/config/logging.config.descriptor.js +208 -0
- package/dist/config/logging.config.descriptor.js.map +1 -0
- package/dist/config/otel-service.d.ts +9 -0
- package/dist/config/otel-service.d.ts.map +1 -0
- package/dist/config/otel-service.js +18 -0
- package/dist/config/otel-service.js.map +1 -0
- package/dist/contexts/bootstrap.plugin.d.ts +3 -0
- package/dist/contexts/bootstrap.plugin.d.ts.map +1 -0
- package/dist/contexts/bootstrap.plugin.js +13 -0
- package/dist/contexts/bootstrap.plugin.js.map +1 -0
- package/dist/contexts/fallback-logger.d.ts +7 -2
- package/dist/contexts/fallback-logger.d.ts.map +1 -1
- package/dist/contexts/fallback-logger.js +73 -46
- package/dist/contexts/fallback-logger.js.map +1 -1
- package/dist/contexts/index.d.ts +2 -2
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/contexts/index.js +2 -3
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/logger.d.ts +38 -14
- package/dist/contexts/logger.d.ts.map +1 -1
- package/dist/contexts/logger.js +241 -62
- package/dist/contexts/logger.js.map +1 -1
- package/dist/core/attempt.d.ts +30 -0
- package/dist/core/attempt.d.ts.map +1 -0
- package/dist/core/attempt.js +44 -0
- package/dist/core/attempt.js.map +1 -0
- package/dist/core/emission-window.d.ts +34 -0
- package/dist/core/emission-window.d.ts.map +1 -0
- package/dist/core/emission-window.js +25 -0
- package/dist/core/emission-window.js.map +1 -0
- package/dist/core/endpoint.d.ts +54 -0
- package/dist/core/endpoint.d.ts.map +1 -0
- package/dist/core/endpoint.js +256 -0
- package/dist/core/endpoint.js.map +1 -0
- package/dist/core/entry-context.d.ts +106 -0
- package/dist/core/entry-context.d.ts.map +1 -0
- package/dist/core/entry-context.js +150 -0
- package/dist/core/entry-context.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts +6 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +133 -67
- package/dist/core/logger.js.map +1 -1
- package/dist/core/namespace.d.ts +5 -2
- package/dist/core/namespace.d.ts.map +1 -1
- package/dist/core/namespace.js +15 -7
- package/dist/core/namespace.js.map +1 -1
- package/dist/core/normalize.d.ts +31 -0
- package/dist/core/normalize.d.ts.map +1 -0
- package/dist/core/normalize.js +67 -0
- package/dist/core/normalize.js.map +1 -0
- package/dist/core/otlp-headers.d.ts +53 -0
- package/dist/core/otlp-headers.d.ts.map +1 -0
- package/dist/core/otlp-headers.js +64 -0
- package/dist/core/otlp-headers.js.map +1 -0
- package/dist/core/otlp-partial-success.d.ts +48 -0
- package/dist/core/otlp-partial-success.d.ts.map +1 -0
- package/dist/core/otlp-partial-success.js +55 -0
- package/dist/core/otlp-partial-success.js.map +1 -0
- package/dist/core/outcome.d.ts +21 -0
- package/dist/core/outcome.d.ts.map +1 -0
- package/dist/core/outcome.js +24 -0
- package/dist/core/outcome.js.map +1 -0
- package/dist/core/output-resources.d.ts +15 -0
- package/dist/core/output-resources.d.ts.map +1 -0
- package/dist/core/output-resources.js +51 -0
- package/dist/core/output-resources.js.map +1 -0
- package/dist/core/parsing.d.ts.map +1 -1
- package/dist/core/parsing.js +13 -10
- package/dist/core/parsing.js.map +1 -1
- package/dist/core/redact.d.ts +161 -0
- package/dist/core/redact.d.ts.map +1 -0
- package/dist/core/redact.js +581 -0
- package/dist/core/redact.js.map +1 -0
- package/dist/core/root-identity.d.ts +13 -0
- package/dist/core/root-identity.d.ts.map +1 -0
- package/dist/core/root-identity.js +23 -0
- package/dist/core/root-identity.js.map +1 -0
- package/dist/core/types.d.ts +5 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/docs/cli.docs.descriptor.d.ts +4 -0
- package/dist/docs/cli.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/cli.docs.descriptor.js +97 -0
- package/dist/docs/cli.docs.descriptor.js.map +1 -0
- package/dist/docs/index.d.ts +7 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +7 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/levels.docs.descriptor.d.ts +1 -1
- package/dist/docs/levels.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/levels.docs.descriptor.js +112 -246
- package/dist/docs/levels.docs.descriptor.js.map +1 -1
- package/dist/docs/logging.docs.descriptor.d.ts +4 -0
- package/dist/docs/logging.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/logging.docs.descriptor.js +105 -0
- package/dist/docs/logging.docs.descriptor.js.map +1 -0
- package/dist/docs/observability.docs.descriptor.d.ts +4 -0
- package/dist/docs/observability.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/observability.docs.descriptor.js +152 -0
- package/dist/docs/observability.docs.descriptor.js.map +1 -0
- package/dist/docs/structured.docs.descriptor.d.ts +1 -1
- package/dist/docs/structured.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/structured.docs.descriptor.js +111 -267
- package/dist/docs/structured.docs.descriptor.js.map +1 -1
- package/dist/docs/transports.docs.descriptor.d.ts +1 -1
- package/dist/docs/transports.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/transports.docs.descriptor.js +129 -344
- package/dist/docs/transports.docs.descriptor.js.map +1 -1
- package/dist/formatters/json/json.impl.d.ts +1 -1
- package/dist/formatters/json/json.impl.d.ts.map +1 -1
- package/dist/formatters/json/json.impl.js +3 -2
- package/dist/formatters/json/json.impl.js.map +1 -1
- package/dist/formatters/json5/json5.impl.d.ts +1 -1
- package/dist/formatters/json5/json5.impl.d.ts.map +1 -1
- package/dist/formatters/json5/json5.impl.js +3 -2
- package/dist/formatters/json5/json5.impl.js.map +1 -1
- package/dist/formatters/jsonl/jsonl.impl.d.ts +1 -1
- package/dist/formatters/jsonl/jsonl.impl.d.ts.map +1 -1
- package/dist/formatters/jsonl/jsonl.impl.js +3 -2
- package/dist/formatters/jsonl/jsonl.impl.js.map +1 -1
- package/dist/formatters/pretty/{pretty.impl.cli.d.ts → pretty.impl.consumer.d.ts} +1 -1
- package/dist/formatters/pretty/pretty.impl.consumer.d.ts.map +1 -0
- package/dist/formatters/pretty/{pretty.impl.cli.js → pretty.impl.consumer.js} +1 -1
- package/dist/formatters/pretty/pretty.impl.consumer.js.map +1 -0
- package/dist/host-files/file-audit.base.d.ts +39 -0
- package/dist/host-files/file-audit.base.d.ts.map +1 -0
- package/dist/host-files/file-audit.base.js +255 -0
- package/dist/host-files/file-audit.base.js.map +1 -0
- package/dist/host-files/file-output.base.d.ts +84 -0
- package/dist/host-files/file-output.base.d.ts.map +1 -0
- package/dist/host-files/file-output.base.js +401 -0
- package/dist/host-files/file-output.base.js.map +1 -0
- package/dist/host-files/file-output.factory.base.d.ts +31 -0
- package/dist/host-files/file-output.factory.base.d.ts.map +1 -0
- package/dist/host-files/file-output.factory.base.js +82 -0
- package/dist/host-files/file-output.factory.base.js.map +1 -0
- package/dist/host-files/file-output.read.base.d.ts +7 -0
- package/dist/host-files/file-output.read.base.d.ts.map +1 -0
- package/dist/host-files/file-output.read.base.js +229 -0
- package/dist/host-files/file-output.read.base.js.map +1 -0
- package/dist/host-files/file-sink.base.d.ts +22 -0
- package/dist/host-files/file-sink.base.d.ts.map +1 -0
- package/dist/host-files/file-sink.base.js +56 -0
- package/dist/host-files/file-sink.base.js.map +1 -0
- package/dist/host-files/host-file-logging.plugin.d.ts +11 -0
- package/dist/host-files/host-file-logging.plugin.d.ts.map +1 -0
- package/dist/host-files/host-file-logging.plugin.js +63 -0
- package/dist/host-files/host-file-logging.plugin.js.map +1 -0
- package/dist/host-files/index.d.ts +19 -0
- package/dist/host-files/index.d.ts.map +1 -0
- package/dist/host-files/index.js +18 -0
- package/dist/host-files/index.js.map +1 -0
- package/dist/host-files/rotate-appended-file.base.d.ts +35 -0
- package/dist/host-files/rotate-appended-file.base.d.ts.map +1 -0
- package/dist/host-files/rotate-appended-file.base.js +104 -0
- package/dist/host-files/rotate-appended-file.base.js.map +1 -0
- package/dist/host.d.ts +38 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +39 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +24 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -23
- package/dist/index.js.map +1 -1
- package/dist/kinds/audit.d.ts +40 -8
- package/dist/kinds/audit.d.ts.map +1 -1
- package/dist/kinds/audit.js +82 -20
- package/dist/kinds/audit.js.map +1 -1
- package/dist/kinds/contexts.d.ts +4 -3
- package/dist/kinds/contexts.d.ts.map +1 -1
- package/dist/kinds/file-output.d.ts +56 -0
- package/dist/kinds/file-output.d.ts.map +1 -0
- package/dist/kinds/file-output.js +11 -0
- package/dist/kinds/file-output.js.map +1 -0
- package/dist/kinds/formatter.d.ts +4 -6
- package/dist/kinds/formatter.d.ts.map +1 -1
- package/dist/kinds/formatter.js +4 -3
- package/dist/kinds/formatter.js.map +1 -1
- package/dist/kinds/index.d.ts +3 -3
- package/dist/kinds/index.d.ts.map +1 -1
- package/dist/kinds/index.js +3 -3
- package/dist/kinds/index.js.map +1 -1
- package/dist/kinds/logger.d.ts +4 -4
- package/dist/kinds/logger.d.ts.map +1 -1
- package/dist/kinds/logger.impl.d.ts +40 -13
- package/dist/kinds/logger.impl.d.ts.map +1 -1
- package/dist/kinds/logger.impl.js +179 -87
- package/dist/kinds/logger.impl.js.map +1 -1
- package/dist/kinds/logger.js +21 -11
- package/dist/kinds/logger.js.map +1 -1
- package/dist/kinds/logger.utils.d.ts +31 -4
- package/dist/kinds/logger.utils.d.ts.map +1 -1
- package/dist/kinds/logger.utils.js +58 -18
- package/dist/kinds/logger.utils.js.map +1 -1
- package/dist/kinds/output.d.ts +5 -11
- package/dist/kinds/output.d.ts.map +1 -1
- package/dist/kinds/output.impl.d.ts +9 -7
- package/dist/kinds/output.impl.d.ts.map +1 -1
- package/dist/kinds/output.impl.js +51 -29
- package/dist/kinds/output.impl.js.map +1 -1
- package/dist/kinds/output.js +10 -5
- package/dist/kinds/output.js.map +1 -1
- package/dist/kinds/output.types.d.ts +26 -7
- package/dist/kinds/output.types.d.ts.map +1 -1
- package/dist/kinds/sink.d.ts +6 -5
- package/dist/kinds/sink.d.ts.map +1 -1
- package/dist/kinds/sink.js +14 -7
- package/dist/kinds/sink.js.map +1 -1
- package/dist/logger.context.descriptor.d.ts +15 -1
- package/dist/logger.context.descriptor.d.ts.map +1 -1
- package/dist/logger.context.descriptor.js +1 -1
- package/dist/logger.context.descriptor.js.map +1 -1
- package/dist/logging.consumer.plugin.d.ts +4 -0
- package/dist/logging.consumer.plugin.d.ts.map +1 -0
- package/dist/logging.consumer.plugin.js +17 -0
- package/dist/logging.consumer.plugin.js.map +1 -0
- package/dist/logging.plugin.d.ts +3 -3
- package/dist/logging.plugin.d.ts.map +1 -1
- package/dist/logging.plugin.js +81 -42
- package/dist/logging.plugin.js.map +1 -1
- package/dist/observability/building-host.d.ts +11 -0
- package/dist/observability/building-host.d.ts.map +1 -0
- package/dist/observability/building-host.js +11 -0
- package/dist/observability/building-host.js.map +1 -0
- package/dist/observability/config.d.ts +36 -0
- package/dist/observability/config.d.ts.map +1 -0
- package/dist/observability/config.js +46 -0
- package/dist/observability/config.js.map +1 -0
- package/dist/observability/http/instrumented-fetch.d.ts +19 -0
- package/dist/observability/http/instrumented-fetch.d.ts.map +1 -0
- package/dist/observability/http/instrumented-fetch.js +175 -0
- package/dist/observability/http/instrumented-fetch.js.map +1 -0
- package/dist/observability/index.d.ts +8 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +10 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/lifecycle.d.ts +18 -0
- package/dist/observability/lifecycle.d.ts.map +1 -0
- package/dist/observability/lifecycle.js +44 -0
- package/dist/observability/lifecycle.js.map +1 -0
- package/dist/observability/observability/error-tracker.d.ts +43 -0
- package/dist/observability/observability/error-tracker.d.ts.map +1 -0
- package/dist/observability/observability/error-tracker.js +130 -0
- package/dist/observability/observability/error-tracker.js.map +1 -0
- package/dist/observability/should-keep-log.d.ts +8 -0
- package/dist/observability/should-keep-log.d.ts.map +1 -0
- package/dist/observability/should-keep-log.js +10 -0
- package/dist/observability/should-keep-log.js.map +1 -0
- package/dist/observability/telemetry/otel.d.ts +47 -0
- package/dist/observability/telemetry/otel.d.ts.map +1 -0
- package/dist/observability/telemetry/otel.js +542 -0
- package/dist/observability/telemetry/otel.js.map +1 -0
- package/dist/observability/telemetry/partial-success.d.ts +35 -0
- package/dist/observability/telemetry/partial-success.d.ts.map +1 -0
- package/dist/observability/telemetry/partial-success.js +94 -0
- package/dist/observability/telemetry/partial-success.js.map +1 -0
- package/dist/observability/telemetry/sdk-lifecycle.d.ts +37 -0
- package/dist/observability/telemetry/sdk-lifecycle.d.ts.map +1 -0
- package/dist/observability/telemetry/sdk-lifecycle.js +132 -0
- package/dist/observability/telemetry/sdk-lifecycle.js.map +1 -0
- package/dist/observability/telemetry/telemetry-root.d.ts +78 -0
- package/dist/observability/telemetry/telemetry-root.d.ts.map +1 -0
- package/dist/observability/telemetry/telemetry-root.js +79 -0
- package/dist/observability/telemetry/telemetry-root.js.map +1 -0
- package/dist/observability/telemetry-instrumentation.d.ts +76 -0
- package/dist/observability/telemetry-instrumentation.d.ts.map +1 -0
- package/dist/observability/telemetry-instrumentation.js +69 -0
- package/dist/observability/telemetry-instrumentation.js.map +1 -0
- package/dist/otel/index.d.ts +9 -0
- package/dist/otel/index.d.ts.map +1 -0
- package/dist/otel/index.js +12 -0
- package/dist/otel/index.js.map +1 -0
- package/dist/otel/logging-otel.plugin.d.ts +11 -0
- package/dist/otel/logging-otel.plugin.d.ts.map +1 -0
- package/dist/otel/logging-otel.plugin.js +27 -0
- package/dist/otel/logging-otel.plugin.js.map +1 -0
- package/dist/otel/sinks/otel/otel.descriptor.d.ts +10 -0
- package/dist/otel/sinks/otel/otel.descriptor.d.ts.map +1 -0
- package/dist/otel/sinks/otel/otel.descriptor.js +23 -0
- package/dist/otel/sinks/otel/otel.descriptor.js.map +1 -0
- package/dist/otel/sinks/otel/otel.impl.d.ts +47 -0
- package/dist/otel/sinks/otel/otel.impl.d.ts.map +1 -0
- package/dist/otel/sinks/otel/otel.impl.js +202 -0
- package/dist/otel/sinks/otel/otel.impl.js.map +1 -0
- package/dist/otel/sinks/otel/otlp-log-exporter.d.ts +76 -0
- package/dist/otel/sinks/otel/otlp-log-exporter.d.ts.map +1 -0
- package/dist/otel/sinks/otel/otlp-log-exporter.js +178 -0
- package/dist/otel/sinks/otel/otlp-log-exporter.js.map +1 -0
- package/dist/outputs/file/file.outputs.descriptor.d.ts +10 -0
- package/dist/outputs/file/file.outputs.descriptor.d.ts.map +1 -0
- package/dist/outputs/file/file.outputs.descriptor.js +32 -0
- package/dist/outputs/file/file.outputs.descriptor.js.map +1 -0
- package/dist/outputs/remote/remote.descriptor.d.ts +1 -1
- package/dist/outputs/remote/remote.descriptor.d.ts.map +1 -1
- package/dist/outputs/remote/remote.descriptor.js +1 -2
- package/dist/outputs/remote/remote.descriptor.js.map +1 -1
- package/dist/outputs/remote/remote.factory.d.ts +9 -0
- package/dist/outputs/remote/remote.factory.d.ts.map +1 -0
- package/dist/outputs/remote/remote.factory.js +16 -0
- package/dist/outputs/remote/remote.factory.js.map +1 -0
- package/dist/outputs/remote/remote.impl.d.ts +40 -4
- package/dist/outputs/remote/remote.impl.d.ts.map +1 -1
- package/dist/outputs/remote/remote.impl.js +224 -99
- package/dist/outputs/remote/remote.impl.js.map +1 -1
- package/dist/outputs.context.descriptor.d.ts +15 -1
- package/dist/outputs.context.descriptor.d.ts.map +1 -1
- package/dist/outputs.context.descriptor.js +1 -1
- package/dist/outputs.context.descriptor.js.map +1 -1
- package/dist/outputs.context.impl.d.ts +2 -1
- package/dist/outputs.context.impl.d.ts.map +1 -1
- package/dist/outputs.context.impl.js +17 -9
- package/dist/outputs.context.impl.js.map +1 -1
- package/dist/paths.d.ts +24 -3
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +63 -3
- package/dist/paths.js.map +1 -1
- package/dist/rotation/rotate-appended-file.d.ts +15 -0
- package/dist/rotation/rotate-appended-file.d.ts.map +1 -0
- package/dist/rotation/rotate-appended-file.js +20 -0
- package/dist/rotation/rotate-appended-file.js.map +1 -0
- package/dist/rotation/rotation-policy.d.ts +19 -0
- package/dist/rotation/rotation-policy.d.ts.map +1 -0
- package/dist/rotation/rotation-policy.js +37 -0
- package/dist/rotation/rotation-policy.js.map +1 -0
- package/dist/schemas/audit.d.ts +25 -7
- package/dist/schemas/audit.d.ts.map +1 -1
- package/dist/schemas/audit.js +10 -4
- package/dist/schemas/audit.js.map +1 -1
- package/dist/schemas/entry.d.ts +11 -5
- package/dist/schemas/entry.d.ts.map +1 -1
- package/dist/schemas/entry.js +3 -2
- package/dist/schemas/entry.js.map +1 -1
- package/dist/schemas/file-host.d.ts +86 -0
- package/dist/schemas/file-host.d.ts.map +1 -0
- package/dist/schemas/file-host.js +10 -0
- package/dist/schemas/file-host.js.map +1 -0
- package/dist/schemas/formatter.d.ts +11 -1
- package/dist/schemas/formatter.d.ts.map +1 -1
- package/dist/schemas/formatter.js +1 -1
- package/dist/schemas/formatter.js.map +1 -1
- package/dist/schemas/index.d.ts +3 -2
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +3 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/logger.d.ts +16 -1
- package/dist/schemas/logger.d.ts.map +1 -1
- package/dist/schemas/logger.js +6 -1
- package/dist/schemas/logger.js.map +1 -1
- package/dist/schemas/output-defaults.d.ts +44 -0
- package/dist/schemas/output-defaults.d.ts.map +1 -0
- package/dist/schemas/output-defaults.js +53 -0
- package/dist/schemas/output-defaults.js.map +1 -0
- package/dist/schemas/output.d.ts +25 -1
- package/dist/schemas/output.d.ts.map +1 -1
- package/dist/schemas/output.js +29 -2
- package/dist/schemas/output.js.map +1 -1
- package/dist/schemas/sink.d.ts +32 -1
- package/dist/schemas/sink.d.ts.map +1 -1
- package/dist/schemas/sink.js +17 -1
- package/dist/schemas/sink.js.map +1 -1
- package/dist/sinks/buffer/buffer.descriptor.js +1 -1
- package/dist/sinks/buffer/buffer.descriptor.js.map +1 -1
- package/dist/sinks/buffer/{buffer.impl.cli.d.ts → buffer.impl.d.ts} +3 -3
- package/dist/sinks/buffer/buffer.impl.d.ts.map +1 -0
- package/dist/sinks/buffer/buffer.impl.js +42 -0
- package/dist/sinks/buffer/buffer.impl.js.map +1 -0
- package/dist/sinks/console/console.descriptor.js +1 -1
- package/dist/sinks/console/console.descriptor.js.map +1 -1
- package/dist/sinks/console/console.impl.browser.d.ts +4 -3
- package/dist/sinks/console/console.impl.browser.d.ts.map +1 -1
- package/dist/sinks/console/console.impl.browser.js +11 -14
- package/dist/sinks/console/console.impl.browser.js.map +1 -1
- package/dist/sinks/console/{console.impl.cli.d.ts → console.impl.consumer.d.ts} +5 -4
- package/dist/sinks/console/console.impl.consumer.d.ts.map +1 -0
- package/dist/sinks/console/{console.impl.cli.js → console.impl.consumer.js} +16 -8
- package/dist/sinks/console/console.impl.consumer.js.map +1 -0
- package/dist/sinks/file/file.sinks.descriptor.d.ts +10 -0
- package/dist/sinks/file/file.sinks.descriptor.d.ts.map +1 -0
- package/dist/sinks/file/file.sinks.descriptor.js +23 -0
- package/dist/sinks/file/file.sinks.descriptor.js.map +1 -0
- package/dist/sinks/index.d.ts +1 -1
- package/dist/sinks/index.d.ts.map +1 -1
- package/dist/sinks/memory/memory.descriptor.d.ts +1 -1
- package/dist/sinks/memory/memory.descriptor.js +2 -2
- package/dist/sinks/memory/memory.descriptor.js.map +1 -1
- package/dist/sinks/memory/memory.impl.d.ts +5 -11
- package/dist/sinks/memory/memory.impl.d.ts.map +1 -1
- package/dist/sinks/memory/memory.impl.js +46 -21
- package/dist/sinks/memory/memory.impl.js.map +1 -1
- package/dist/sinks/stdout/stdout.descriptor.js +1 -1
- package/dist/sinks/stdout/stdout.descriptor.js.map +1 -1
- package/dist/sinks/stdout/{stdout.impl.cli.d.ts → stdout.impl.d.ts} +5 -4
- package/dist/sinks/stdout/stdout.impl.d.ts.map +1 -0
- package/dist/sinks/stdout/stdout.impl.js +29 -0
- package/dist/sinks/stdout/stdout.impl.js.map +1 -0
- package/dist/sinks.context.descriptor.d.ts +15 -1
- package/dist/sinks.context.descriptor.d.ts.map +1 -1
- package/dist/sinks.context.descriptor.js +1 -1
- package/dist/sinks.context.descriptor.js.map +1 -1
- package/dist/sinks.context.impl.d.ts +2 -1
- package/dist/sinks.context.impl.d.ts.map +1 -1
- package/dist/sinks.context.impl.js +17 -9
- package/dist/sinks.context.impl.js.map +1 -1
- package/dist/stdout-capture/mcp-frame.d.ts +23 -0
- package/dist/stdout-capture/mcp-frame.d.ts.map +1 -0
- package/dist/stdout-capture/mcp-frame.js +80 -0
- package/dist/stdout-capture/mcp-frame.js.map +1 -0
- package/dist/stdout-capture/stdout-capture.descriptor.d.ts +10 -0
- package/dist/stdout-capture/stdout-capture.descriptor.d.ts.map +1 -0
- package/dist/stdout-capture/stdout-capture.descriptor.js +17 -0
- package/dist/stdout-capture/stdout-capture.descriptor.js.map +1 -0
- package/dist/stdout-capture/stdout-capture.impl.d.ts +19 -0
- package/dist/stdout-capture/stdout-capture.impl.d.ts.map +1 -0
- package/dist/stdout-capture/stdout-capture.impl.js +49 -0
- package/dist/stdout-capture/stdout-capture.impl.js.map +1 -0
- package/dist/stdout-capture/stdout-capture.lease.d.ts +45 -0
- package/dist/stdout-capture/stdout-capture.lease.d.ts.map +1 -0
- package/dist/stdout-capture/stdout-capture.lease.js +338 -0
- package/dist/stdout-capture/stdout-capture.lease.js.map +1 -0
- package/dist/stdout-capture/stdout-capture.output.descriptor.d.ts +4 -0
- package/dist/stdout-capture/stdout-capture.output.descriptor.d.ts.map +1 -0
- package/dist/stdout-capture/stdout-capture.output.descriptor.js +18 -0
- package/dist/stdout-capture/stdout-capture.output.descriptor.js.map +1 -0
- package/dist/stdout-capture/stdout-capture.state.d.ts +29 -0
- package/dist/stdout-capture/stdout-capture.state.d.ts.map +1 -0
- package/dist/stdout-capture/stdout-capture.state.js +80 -0
- package/dist/stdout-capture/stdout-capture.state.js.map +1 -0
- package/dist/stdout-capture.d.ts +24 -0
- package/dist/stdout-capture.d.ts.map +1 -0
- package/dist/stdout-capture.js +28 -0
- package/dist/stdout-capture.js.map +1 -0
- package/dist/stdout-capture.plugin.d.ts +7 -0
- package/dist/stdout-capture.plugin.d.ts.map +1 -0
- package/dist/stdout-capture.plugin.js +28 -0
- package/dist/stdout-capture.plugin.js.map +1 -0
- package/package.json +308 -224
- package/dist/contexts/audit.d.ts +0 -34
- package/dist/contexts/audit.d.ts.map +0 -1
- package/dist/contexts/audit.js +0 -13
- package/dist/contexts/audit.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -7
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -8
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/pretty/pretty.impl.cli.d.ts.map +0 -1
- package/dist/formatters/pretty/pretty.impl.cli.js.map +0 -1
- package/dist/kinds/logger.contracts.d.ts +0 -16
- package/dist/kinds/logger.contracts.d.ts.map +0 -1
- package/dist/kinds/logger.contracts.js +0 -9
- package/dist/kinds/logger.contracts.js.map +0 -1
- package/dist/kinds/output.contracts.d.ts +0 -50
- package/dist/kinds/output.contracts.d.ts.map +0 -1
- package/dist/kinds/output.contracts.js +0 -10
- package/dist/kinds/output.contracts.js.map +0 -1
- package/dist/logging.cli.plugin.d.ts.map +0 -1
- package/dist/logging.cli.plugin.js +0 -39
- package/dist/logging.cli.plugin.js.map +0 -1
- package/dist/outputs/index.d.ts +0 -7
- package/dist/outputs/index.d.ts.map +0 -1
- package/dist/outputs/index.js +0 -8
- package/dist/outputs/index.js.map +0 -1
- package/dist/sinks/buffer/buffer.impl.cli.d.ts.map +0 -1
- package/dist/sinks/buffer/buffer.impl.cli.js +0 -34
- package/dist/sinks/buffer/buffer.impl.cli.js.map +0 -1
- package/dist/sinks/console/console.impl.cli.d.ts.map +0 -1
- package/dist/sinks/console/console.impl.cli.js.map +0 -1
- package/dist/sinks/stdout/stdout.impl.cli.d.ts.map +0 -1
- package/dist/sinks/stdout/stdout.impl.cli.js +0 -21
- package/dist/sinks/stdout/stdout.impl.cli.js.map +0 -1
- package/src/audit/audit.descriptor.ts +0 -45
- package/src/audit/audit.storage.schema.ts +0 -57
- package/src/audit/index.ts +0 -8
- package/src/cli/logs.descriptor.ts +0 -19
- package/src/cli/logs.list.descriptor.ts +0 -28
- package/src/cli/logs.list.impl.ts +0 -93
- package/src/cli/logs.rotate.descriptor.ts +0 -40
- package/src/cli/logs.rotate.impl.ts +0 -61
- package/src/cli/logs.search.descriptor.ts +0 -61
- package/src/cli/logs.search.impl.ts +0 -173
- package/src/cli/logs.tail.descriptor.ts +0 -49
- package/src/cli/logs.tail.impl.ts +0 -105
- package/src/cli/logs.view.descriptor.ts +0 -57
- package/src/cli/logs.view.impl.ts +0 -108
- package/src/cli/types.ts +0 -59
- package/src/contexts/audit.ts +0 -36
- package/src/contexts/fallback-logger.ts +0 -80
- package/src/contexts/index.ts +0 -23
- package/src/contexts/logger.ts +0 -119
- package/src/core/index.ts +0 -32
- package/src/core/logger.ts +0 -150
- package/src/core/namespace.ts +0 -195
- package/src/core/parsing.ts +0 -21
- package/src/core/types.ts +0 -82
- package/src/docs/levels.docs.descriptor.ts +0 -344
- package/src/docs/structured.docs.descriptor.ts +0 -444
- package/src/docs/transports.docs.descriptor.ts +0 -428
- package/src/formatters/index.ts +0 -6
- package/src/formatters/json/json.formatters.descriptor.ts +0 -25
- package/src/formatters/json/json.impl.ts +0 -41
- package/src/formatters/json5/json5.descriptor.ts +0 -25
- package/src/formatters/json5/json5.impl.ts +0 -43
- package/src/formatters/jsonl/jsonl.descriptor.ts +0 -26
- package/src/formatters/jsonl/jsonl.impl.ts +0 -39
- package/src/formatters/pretty/pretty.descriptor.ts +0 -26
- package/src/formatters/pretty/pretty.impl.cli.ts +0 -101
- package/src/index.ts +0 -190
- package/src/kinds/audit.ts +0 -169
- package/src/kinds/contexts.ts +0 -22
- package/src/kinds/formatter.ts +0 -117
- package/src/kinds/index.ts +0 -25
- package/src/kinds/logger.contracts.ts +0 -17
- package/src/kinds/logger.impl.ts +0 -206
- package/src/kinds/logger.ts +0 -46
- package/src/kinds/logger.utils.ts +0 -91
- package/src/kinds/output.contracts.ts +0 -54
- package/src/kinds/output.impl.ts +0 -118
- package/src/kinds/output.ts +0 -59
- package/src/kinds/output.types.ts +0 -105
- package/src/kinds/sink.ts +0 -100
- package/src/logger.context.descriptor.ts +0 -13
- package/src/logging.cli.plugin.ts +0 -43
- package/src/logging.plugin.ts +0 -93
- package/src/outputs/index.ts +0 -6
- package/src/outputs/remote/remote.descriptor.ts +0 -27
- package/src/outputs/remote/remote.impl.ts +0 -218
- package/src/outputs.context.descriptor.ts +0 -10
- package/src/outputs.context.impl.ts +0 -30
- package/src/paths.ts +0 -10
- package/src/schemas/audit.ts +0 -98
- package/src/schemas/entry.ts +0 -88
- package/src/schemas/formatter.ts +0 -37
- package/src/schemas/index.ts +0 -80
- package/src/schemas/logger.ts +0 -38
- package/src/schemas/output.ts +0 -62
- package/src/schemas/sink.ts +0 -39
- package/src/sinks/buffer/buffer.descriptor.ts +0 -13
- package/src/sinks/buffer/buffer.impl.cli.ts +0 -49
- package/src/sinks/console/console.descriptor.ts +0 -20
- package/src/sinks/console/console.impl.browser.ts +0 -69
- package/src/sinks/console/console.impl.cli.ts +0 -71
- package/src/sinks/index.ts +0 -8
- package/src/sinks/memory/memory.descriptor.ts +0 -20
- package/src/sinks/memory/memory.impl.ts +0 -119
- package/src/sinks/stdout/stdout.descriptor.ts +0 -13
- package/src/sinks/stdout/stdout.impl.cli.ts +0 -27
- package/src/sinks.context.descriptor.ts +0 -10
- package/src/sinks.context.impl.ts +0 -30
package/LICENSE
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 VIBES DEV LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
+
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
|
|
9
|
+
following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
12
|
+
portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
15
|
+
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
|
|
16
|
+
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
17
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
18
|
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,22 +1,115 @@
|
|
|
1
1
|
# @vibesdotdev/logging
|
|
2
2
|
|
|
3
|
-
Structured logging
|
|
3
|
+
Structured logging for Vibes. Code logs through `getLogger(namespace, runtime)`; the Vibes runtime decides where entries go by resolving the sinks, formatters and outputs registered for the current host. The package also ships a browser sink, an OpenTelemetry log sink, server observability helpers, an audit log, the `vibes logs` CLI commands, and the portable contract (`@vibesdotdev/logging/host`) that a host package implements for file logging.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The package root runs anywhere: Bun, Node, workerd and the browser. It never writes to stdout, so it is safe inside MCP stdio servers and CLIs that print machine-readable output.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
|
-
bun add @vibesdotdev/logging
|
|
10
|
+
bun add @vibesdotdev/logging @vibesdotdev/kernel
|
|
11
11
|
# or
|
|
12
|
-
npm install @vibesdotdev/logging
|
|
12
|
+
npm install @vibesdotdev/logging @vibesdotdev/kernel
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Log something
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
```ts
|
|
18
|
+
import { bootstrapVibesRuntime } from '@vibesdotdev/kernel';
|
|
19
|
+
import loggingPlugin from '@vibesdotdev/logging/plugin';
|
|
20
|
+
import loggingConsumerPlugin from '@vibesdotdev/logging/consumer/plugin';
|
|
21
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
22
|
+
|
|
23
|
+
// `environment` is your host's environment plugin (on Bun, from @vibesdotdev/host-bun).
|
|
24
|
+
const runtime = await bootstrapVibesRuntime({
|
|
25
|
+
environment,
|
|
26
|
+
composition: { kind: 'literal', plugins: [async () => loggingPlugin, async () => loggingConsumerPlugin] }
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const log = getLogger('myapp:db', runtime);
|
|
30
|
+
log.info('connected', { host: 'localhost', port: 5432 });
|
|
31
|
+
|
|
32
|
+
const request = log.withRequestContext({ requestId: 'req-1' });
|
|
33
|
+
request.warn('slow query', { durationMs: 850 });
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Filter output with environment keys read through the runtime:
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
VIBES_LOG_LEVEL=debug VIBES_LOG='myapp:*,-myapp:noisy' bun run app.ts
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Pick the surfaces your host needs
|
|
43
|
+
|
|
44
|
+
Register each extra plugin after `@vibesdotdev/logging/plugin`. File sinks, outputs and the file-backed audit log are host code: `@vibesdotdev/host-node/logging`'s `nodeLoggingPlugin` implements `@vibesdotdev/logging/host`. The Bun host (`@vibesdotdev/host-bun`) registers it with its environment (opt out with its `logging: { files: false }` option), and so does the declared Node test host; a production Node composition registers `nodeLoggingPlugin` itself.
|
|
45
|
+
|
|
46
|
+
| Plugin | Host | Adds |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| `@vibesdotdev/logging/consumer/plugin` | Terminal consumer | Colorized console sink and pretty formatter |
|
|
49
|
+
| `@vibesdotdev/logging/browser/plugin` | Browser | Styled console sink with localStorage buffering |
|
|
50
|
+
| `@vibesdotdev/logging/otel/plugin` | Server | OTLP/HTTP log export |
|
|
51
|
+
| `@vibesdotdev/logging/cli/plugin` | CLI | `vibes logs list \| view \| tail \| search \| rotate` and `vibes logs audit list \| cleanup` |
|
|
52
|
+
|
|
53
|
+
The example composes terminal rendering explicitly. Browser and cloud bundles use
|
|
54
|
+
`./plugin` without the consumer slice: JSON formatters, memory/buffer sinks,
|
|
55
|
+
stdout through the runtime's stderr port, remote output and browser console
|
|
56
|
+
remain universal. The optional browser slice adds persistence. Scope filtering
|
|
57
|
+
does not isolate bundles; the consumer imports live in their own plugin.
|
|
58
|
+
|
|
59
|
+
`@vibesdotdev/logging/plugin` also registers the `logging` `runtime/client`. Resolve it with `getVibesClient('logging', runtime)`, or peek it synchronously with `tryGetVibesClient('logging', runtime)` (both from `@vibesdotdev/kernel/client`). See [SPEC.md](SPEC.md#runtime-client) and [Composition](SPEC.md#composition).
|
|
60
|
+
|
|
61
|
+
For traces and metrics on a server, call `initializeTelemetry(runtime)` from `@vibesdotdev/logging/observability` after your runtime environment is registered, and report `getTelemetryStatus(runtime)` from a health endpoint.
|
|
62
|
+
|
|
63
|
+
## Buffer retention
|
|
64
|
+
|
|
65
|
+
The universal `buffer` sink retains all accepted entries until drained, cleared
|
|
66
|
+
or closed. Set an optional positive integer `capacity` on its registered
|
|
67
|
+
`SinkDescriptor` to bound storage. At capacity it refuses the incoming entry
|
|
68
|
+
before changing retained entries (`CapabilityError`: `UNAVAILABLE`,
|
|
69
|
+
`buffer-capacity-exceeded`, retryable), without including entry contents in the
|
|
70
|
+
failure. The logger delivers refused entries through its fallback and reports
|
|
71
|
+
the failure. Drain or clear to restore capacity; `flush()` keeps entries and
|
|
72
|
+
`close()` or runtime disposal clears them. This buffer is not durable storage.
|
|
73
|
+
|
|
74
|
+
## Memory retention
|
|
75
|
+
|
|
76
|
+
The queryable `memory` sink retains all entries by default until clear, close
|
|
77
|
+
or runtime disposal. Its registered `SinkDescriptor.maxEntries` optionally
|
|
78
|
+
sets a nonnegative integer bound: zero disables retention; positive bounds
|
|
79
|
+
deliberately evict oldest entries. `setMaxEntries(number)` changes the bound
|
|
80
|
+
and trims immediately. Invalid setter bounds refuse `INVALID_INPUT`,
|
|
81
|
+
`memory-entry-limit-invalid`. Buffer capacity instead refuses incoming entries.
|
|
82
|
+
Queries return independent array snapshots in emission order, with level,
|
|
83
|
+
namespace, message and date filters; `limit` selects the newest matches and
|
|
84
|
+
accepts zero. Invalid queries refuse `INVALID_INPUT`, `memory-query-invalid`.
|
|
85
|
+
`MemorySinkQueryOptions` remains exported from `./sinks`; its schemas and
|
|
86
|
+
inferred types live in `./schemas/sink` and `./schemas`.
|
|
87
|
+
|
|
88
|
+
## Audit
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
import { auditLog } from '@vibesdotdev/logging';
|
|
92
|
+
|
|
93
|
+
await auditLog({
|
|
94
|
+
category: 'authentication',
|
|
95
|
+
severity: 'medium',
|
|
96
|
+
action: 'login',
|
|
97
|
+
actor: { id: 'user-1', type: 'user' },
|
|
98
|
+
outcome: 'success',
|
|
99
|
+
context: { apiKey: 'redacted before it is written' }
|
|
100
|
+
}, runtime);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
`auditLog(input, runtime)` (also exported from `@vibesdotdev/logging/audit`) validates the entry, redacts credential-like context keys and writes it to the handed runtime's stderr. To persist entries, resolve a `logging/audit` implementation from the runtime (`runtime.query('logging/audit')`): wherever `nodeLoggingPlugin` is registered (the Bun host, the declared Node test host, or a Node composition that adds it) there is a file-backed one with retention by category.
|
|
104
|
+
|
|
105
|
+
## Docs
|
|
106
|
+
|
|
107
|
+
`vibes docs show logging` covers `logging.levels`, `logging.structured`, `logging.transports`, `logging.cli` and `logging.observability`. [SPEC.md](SPEC.md) is the full contract: what the package owns, its hard rules, every entrypoint and every configuration key.
|
|
108
|
+
|
|
109
|
+
## Development
|
|
110
|
+
|
|
111
|
+
`bun run check` typechecks all source TypeScript and TSX, including tests, without emitting. `bun run test` runs the in-process suite. `bun run build` uses `tsconfig.build.json` to emit production JavaScript and declarations with rewritten relative imports; tests, test support and the Svelte surface are excluded from emission. `tsconfig.check.json` remains a compatible alias for the all-source project.
|
|
19
112
|
|
|
20
113
|
## License
|
|
21
114
|
|
|
22
|
-
MIT
|
|
115
|
+
MIT. See [LICENSE](LICENSE).
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Retention Job Descriptor
|
|
3
|
+
*
|
|
4
|
+
* The scheduled enforcement of every file-backed audit logger's retention,
|
|
5
|
+
* run by Workers (RC11, D19). Declared as data so logging takes no package
|
|
6
|
+
* edge on `@vibesdotdev/workers` (Workers depends on logging); the runtime
|
|
7
|
+
* holds it until the `workers/job` kind registers.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
export declare const AUDIT_RETENTION_JOB_ID = "logging.audit-retention";
|
|
11
|
+
export declare const AuditRetentionJobOutputSchema: z.ZodObject<{
|
|
12
|
+
success: z.ZodBoolean;
|
|
13
|
+
results: z.ZodArray<z.ZodObject<{
|
|
14
|
+
id: z.ZodString;
|
|
15
|
+
deleted: z.ZodNumber;
|
|
16
|
+
archived: z.ZodNumber;
|
|
17
|
+
retentionDays: z.ZodNumber;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
failures: z.ZodArray<z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
error: z.ZodString;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export type AuditRetentionJobOutput = z.infer<typeof AuditRetentionJobOutputSchema>;
|
|
25
|
+
export declare const auditRetentionJobDescriptor: {
|
|
26
|
+
kind: "workers/job";
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
description: string;
|
|
30
|
+
queue: string;
|
|
31
|
+
dispatch: "background";
|
|
32
|
+
type: "scheduled";
|
|
33
|
+
schedule: string;
|
|
34
|
+
retries: {
|
|
35
|
+
maxAttempts: number;
|
|
36
|
+
backoff: "exponential";
|
|
37
|
+
delay: number;
|
|
38
|
+
};
|
|
39
|
+
hardware: readonly ["consumer"];
|
|
40
|
+
schemas: {
|
|
41
|
+
input: z.ZodPrefault<z.ZodObject<{}, z.core.$strip>>;
|
|
42
|
+
output: z.ZodObject<{
|
|
43
|
+
success: z.ZodBoolean;
|
|
44
|
+
results: z.ZodArray<z.ZodObject<{
|
|
45
|
+
id: z.ZodString;
|
|
46
|
+
deleted: z.ZodNumber;
|
|
47
|
+
archived: z.ZodNumber;
|
|
48
|
+
retentionDays: z.ZodNumber;
|
|
49
|
+
}, z.core.$strip>>;
|
|
50
|
+
failures: z.ZodArray<z.ZodObject<{
|
|
51
|
+
id: z.ZodString;
|
|
52
|
+
error: z.ZodString;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
};
|
|
56
|
+
tags: string[];
|
|
57
|
+
enabled: true;
|
|
58
|
+
};
|
|
59
|
+
export default auditRetentionJobDescriptor;
|
|
60
|
+
//# sourceMappingURL=audit-retention.job.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-retention.job.descriptor.d.ts","sourceRoot":"","sources":["../../src/audit/audit-retention.job.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAWxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBtC,CAAC;AAEH,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Retention Job Descriptor
|
|
3
|
+
*
|
|
4
|
+
* The scheduled enforcement of every file-backed audit logger's retention,
|
|
5
|
+
* run by Workers (RC11, D19). Declared as data so logging takes no package
|
|
6
|
+
* edge on `@vibesdotdev/workers` (Workers depends on logging); the runtime
|
|
7
|
+
* holds it until the `workers/job` kind registers.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
import { createRuntimeAsset } from '@vibesdotdev/kernel';
|
|
11
|
+
export const AUDIT_RETENTION_JOB_ID = 'logging.audit-retention';
|
|
12
|
+
export const AuditRetentionJobOutputSchema = z.object({
|
|
13
|
+
success: z.boolean(),
|
|
14
|
+
results: z.array(z.object({
|
|
15
|
+
id: z.string(),
|
|
16
|
+
deleted: z.number(),
|
|
17
|
+
archived: z.number(),
|
|
18
|
+
retentionDays: z.number()
|
|
19
|
+
})),
|
|
20
|
+
failures: z.array(z.object({ id: z.string(), error: z.string() }))
|
|
21
|
+
});
|
|
22
|
+
export const auditRetentionJobDescriptor = createRuntimeAsset({
|
|
23
|
+
kind: 'workers/job',
|
|
24
|
+
id: AUDIT_RETENTION_JOB_ID,
|
|
25
|
+
name: 'Audit Retention',
|
|
26
|
+
description: 'Enforce the retention policy of every file-backed audit logger',
|
|
27
|
+
queue: 'maintenance-jobs',
|
|
28
|
+
dispatch: 'background',
|
|
29
|
+
type: 'scheduled',
|
|
30
|
+
// Daily, as the former 24-hour interval was.
|
|
31
|
+
schedule: '20 3 * * *',
|
|
32
|
+
retries: { maxAttempts: 2, backoff: 'exponential', delay: 60_000 },
|
|
33
|
+
hardware: ['consumer'],
|
|
34
|
+
schemas: {
|
|
35
|
+
input: z.object({}).prefault({}),
|
|
36
|
+
output: AuditRetentionJobOutputSchema
|
|
37
|
+
},
|
|
38
|
+
tags: ['logging', 'audit', 'retention', 'housekeeping'],
|
|
39
|
+
enabled: true
|
|
40
|
+
});
|
|
41
|
+
export default auditRetentionJobDescriptor;
|
|
42
|
+
//# sourceMappingURL=audit-retention.job.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-retention.job.descriptor.js","sourceRoot":"","sources":["../../src/audit/audit-retention.job.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KACzB,CAAC,CACF;IACD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CAClE,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;IAC7D,IAAI,EAAE,aAAa;IACnB,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,gEAAgE;IAC7E,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,YAAqB;IAC/B,IAAI,EAAE,WAAoB;IAC1B,6CAA6C;IAC7C,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,aAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;IAC3E,QAAQ,EAAE,CAAC,UAAU,CAAU;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,6BAA6B;KACrC;IACD,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC;IACvD,OAAO,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Retention Job Implementation — runs `enforceAllAuditRetention` on the
|
|
3
|
+
* runtime the Workers consumer constructed it with. A logger that fails is
|
|
4
|
+
* reported in the output and marks the run unsuccessful; it never disappears.
|
|
5
|
+
*/
|
|
6
|
+
import type { AuditRetentionRuntime } from './scheduled-audit-retention.ts';
|
|
7
|
+
import type { AuditRetentionJobOutput } from './audit-retention.job.descriptor.ts';
|
|
8
|
+
interface JobDescriptorLike {
|
|
9
|
+
id: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class AuditRetentionJob {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly descriptor: JobDescriptorLike;
|
|
14
|
+
readonly type: "scheduled";
|
|
15
|
+
readonly isolation: "inline";
|
|
16
|
+
private readonly runtime;
|
|
17
|
+
constructor(descriptor: JobDescriptorLike, context: {
|
|
18
|
+
runtime: AuditRetentionRuntime;
|
|
19
|
+
});
|
|
20
|
+
handle(): Promise<AuditRetentionJobOutput>;
|
|
21
|
+
}
|
|
22
|
+
export default AuditRetentionJob;
|
|
23
|
+
//# sourceMappingURL=audit-retention.job.impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-retention.job.impl.d.ts","sourceRoot":"","sources":["../../src/audit/audit-retention.job.impl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,UAAU,iBAAiB;IAC1B,EAAE,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,iBAAiB;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IACrC,QAAQ,CAAC,SAAS,EAAG,QAAQ,CAAU;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;gBAEpC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,qBAAqB,CAAA;KAAE;IAMhF,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAIhD;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Retention Job Implementation — runs `enforceAllAuditRetention` on the
|
|
3
|
+
* runtime the Workers consumer constructed it with. A logger that fails is
|
|
4
|
+
* reported in the output and marks the run unsuccessful; it never disappears.
|
|
5
|
+
*/
|
|
6
|
+
import { enforceAllAuditRetention } from "./scheduled-audit-retention.js";
|
|
7
|
+
export class AuditRetentionJob {
|
|
8
|
+
id;
|
|
9
|
+
descriptor;
|
|
10
|
+
type = 'scheduled';
|
|
11
|
+
isolation = 'inline';
|
|
12
|
+
runtime;
|
|
13
|
+
constructor(descriptor, context) {
|
|
14
|
+
this.id = descriptor.id;
|
|
15
|
+
this.descriptor = descriptor;
|
|
16
|
+
this.runtime = context.runtime;
|
|
17
|
+
}
|
|
18
|
+
async handle() {
|
|
19
|
+
const { results, failures } = await enforceAllAuditRetention(this.runtime);
|
|
20
|
+
return { success: failures.length === 0, results, failures };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export default AuditRetentionJob;
|
|
24
|
+
//# sourceMappingURL=audit-retention.job.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-retention.job.impl.js","sourceRoot":"","sources":["../../src/audit/audit-retention.job.impl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAO1E,MAAM,OAAO,iBAAiB;IACpB,EAAE,CAAS;IACX,UAAU,CAAoB;IAC9B,IAAI,GAAG,WAAoB,CAAC;IAC5B,SAAS,GAAG,QAAiB,CAAC;IAEtB,OAAO,CAAwB;IAEhD,YAAY,UAA6B,EAAE,OAA2C;QACrF,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACX,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC9D,CAAC;CACD;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -7,5 +7,11 @@ import type { AuditDescriptor } from '../schemas/audit.ts';
|
|
|
7
7
|
export declare const defaultAuditDescriptor: AuditDescriptor;
|
|
8
8
|
export declare const authenticationAuditDescriptor: AuditDescriptor;
|
|
9
9
|
export declare const securityAuditDescriptor: AuditDescriptor;
|
|
10
|
+
export declare const authorizationAuditDescriptor: AuditDescriptor;
|
|
11
|
+
export declare const dataAccessAuditDescriptor: AuditDescriptor;
|
|
12
|
+
export declare const dataModificationAuditDescriptor: AuditDescriptor;
|
|
13
|
+
export declare const configurationAuditDescriptor: AuditDescriptor;
|
|
14
|
+
/** Every built-in audit descriptor, one per {@link AuditCategory}. */
|
|
15
|
+
export declare const ALL_AUDIT_DESCRIPTORS: AuditDescriptor[];
|
|
10
16
|
export default defaultAuditDescriptor;
|
|
11
17
|
//# sourceMappingURL=audit.descriptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.descriptor.d.ts","sourceRoot":"","sources":["../../src/audit/audit.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.descriptor.d.ts","sourceRoot":"","sources":["../../src/audit/audit.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS3D,eAAO,MAAM,sBAAsB,EAAE,eAWpC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,eAW3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,eAWrC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,eAW1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,eAWvC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,eAW7C,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,eAW1C,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,EAAE,eAAe,EAQlD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generic audit logging configuration.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* A file audit (the host's) writes under the bound workspace. Optional, so on
|
|
8
|
+
* an unbound host it still selects and its writes refuse `workspace-unbound`
|
|
9
|
+
* typed, never skipped (C092).
|
|
10
|
+
*/
|
|
11
|
+
const AUDIT_OPTIONAL_CONTEXT = ['runtime/workspace-path'];
|
|
6
12
|
export const defaultAuditDescriptor = {
|
|
7
13
|
kind: 'logging/audit',
|
|
8
14
|
id: 'default',
|
|
@@ -12,7 +18,8 @@ export const defaultAuditDescriptor = {
|
|
|
12
18
|
category: 'system',
|
|
13
19
|
severity: 'low',
|
|
14
20
|
retention: '90d',
|
|
15
|
-
immutable: true
|
|
21
|
+
immutable: true,
|
|
22
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
16
23
|
};
|
|
17
24
|
export const authenticationAuditDescriptor = {
|
|
18
25
|
kind: 'logging/audit',
|
|
@@ -22,8 +29,9 @@ export const authenticationAuditDescriptor = {
|
|
|
22
29
|
tags: ['auth', 'security'],
|
|
23
30
|
category: 'authentication',
|
|
24
31
|
severity: 'medium',
|
|
25
|
-
retention: '
|
|
26
|
-
immutable: true
|
|
32
|
+
retention: '365d',
|
|
33
|
+
immutable: true,
|
|
34
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
27
35
|
};
|
|
28
36
|
export const securityAuditDescriptor = {
|
|
29
37
|
kind: 'logging/audit',
|
|
@@ -33,8 +41,67 @@ export const securityAuditDescriptor = {
|
|
|
33
41
|
tags: ['security', 'compliance'],
|
|
34
42
|
category: 'security',
|
|
35
43
|
severity: 'high',
|
|
36
|
-
retention: '
|
|
37
|
-
immutable: true
|
|
44
|
+
retention: '730d',
|
|
45
|
+
immutable: true,
|
|
46
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
47
|
+
};
|
|
48
|
+
export const authorizationAuditDescriptor = {
|
|
49
|
+
kind: 'logging/audit',
|
|
50
|
+
id: 'authorization',
|
|
51
|
+
name: 'Authorization Audit Logger',
|
|
52
|
+
description: 'Audit logging for authorization and permission checks',
|
|
53
|
+
tags: ['auth', 'security', 'access-control'],
|
|
54
|
+
category: 'authorization',
|
|
55
|
+
severity: 'medium',
|
|
56
|
+
retention: '365d',
|
|
57
|
+
immutable: true,
|
|
58
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
59
|
+
};
|
|
60
|
+
export const dataAccessAuditDescriptor = {
|
|
61
|
+
kind: 'logging/audit',
|
|
62
|
+
id: 'data_access',
|
|
63
|
+
name: 'Data Access Audit Logger',
|
|
64
|
+
description: 'Audit logging for data access events',
|
|
65
|
+
tags: ['compliance', 'privacy', 'data'],
|
|
66
|
+
category: 'data_access',
|
|
67
|
+
severity: 'low',
|
|
68
|
+
retention: '90d',
|
|
69
|
+
immutable: true,
|
|
70
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
71
|
+
};
|
|
72
|
+
export const dataModificationAuditDescriptor = {
|
|
73
|
+
kind: 'logging/audit',
|
|
74
|
+
id: 'data_modification',
|
|
75
|
+
name: 'Data Modification Audit Logger',
|
|
76
|
+
description: 'Audit logging for data create/update/delete events',
|
|
77
|
+
tags: ['compliance', 'data', 'integrity'],
|
|
78
|
+
category: 'data_modification',
|
|
79
|
+
severity: 'medium',
|
|
80
|
+
retention: '365d',
|
|
81
|
+
immutable: true,
|
|
82
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
83
|
+
};
|
|
84
|
+
export const configurationAuditDescriptor = {
|
|
85
|
+
kind: 'logging/audit',
|
|
86
|
+
id: 'configuration',
|
|
87
|
+
name: 'Configuration Audit Logger',
|
|
88
|
+
description: 'Audit logging for configuration changes',
|
|
89
|
+
tags: ['ops', 'compliance', 'configuration'],
|
|
90
|
+
category: 'configuration',
|
|
91
|
+
severity: 'medium',
|
|
92
|
+
retention: '365d',
|
|
93
|
+
immutable: true,
|
|
94
|
+
optionalContext: AUDIT_OPTIONAL_CONTEXT
|
|
38
95
|
};
|
|
96
|
+
/** Every built-in audit descriptor, one per {@link AuditCategory}. */
|
|
97
|
+
export const ALL_AUDIT_DESCRIPTORS = [
|
|
98
|
+
defaultAuditDescriptor,
|
|
99
|
+
authenticationAuditDescriptor,
|
|
100
|
+
securityAuditDescriptor,
|
|
101
|
+
authorizationAuditDescriptor,
|
|
102
|
+
dataAccessAuditDescriptor,
|
|
103
|
+
dataModificationAuditDescriptor,
|
|
104
|
+
configurationAuditDescriptor
|
|
105
|
+
];
|
|
39
106
|
export default defaultAuditDescriptor;
|
|
40
107
|
//# sourceMappingURL=audit.descriptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.descriptor.js","sourceRoot":"","sources":["../../src/audit/audit.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACtD,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,0CAA0C;IACvD,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"audit.descriptor.js","sourceRoot":"","sources":["../../src/audit/audit.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACtD,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,0CAA0C;IACvD,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAoB;IAC7D,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC1B,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAoB;IACvD,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;IAChC,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAoB;IAC5D,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,uDAAuD;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACzD,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;IACvC,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAoB;IAC/D,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,oDAAoD;IACjE,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC;IACzC,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAoB;IAC5D,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC;IAC5C,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,sBAAsB;CACvC,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACvD,sBAAsB;IACtB,6BAA6B;IAC7B,uBAAuB;IACvB,4BAA4B;IAC5B,yBAAyB;IACzB,+BAA+B;IAC/B,4BAA4B;CAC5B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -4,9 +4,9 @@ export declare const AuditEntryStorageSchema: z.ZodObject<{
|
|
|
4
4
|
id: z.ZodString;
|
|
5
5
|
timestamp: z.ZodString;
|
|
6
6
|
category: z.ZodEnum<{
|
|
7
|
+
authorization: "authorization";
|
|
7
8
|
system: "system";
|
|
8
9
|
authentication: "authentication";
|
|
9
|
-
authorization: "authorization";
|
|
10
10
|
data_access: "data_access";
|
|
11
11
|
data_modification: "data_modification";
|
|
12
12
|
configuration: "configuration";
|
|
@@ -23,8 +23,8 @@ export declare const AuditEntryStorageSchema: z.ZodObject<{
|
|
|
23
23
|
id: z.ZodString;
|
|
24
24
|
type: z.ZodEnum<{
|
|
25
25
|
user: "user";
|
|
26
|
-
system: "system";
|
|
27
26
|
service: "service";
|
|
27
|
+
system: "system";
|
|
28
28
|
}>;
|
|
29
29
|
name: z.ZodOptional<z.ZodString>;
|
|
30
30
|
ip: z.ZodOptional<z.ZodString>;
|
|
@@ -48,8 +48,8 @@ export declare const AuditEntryStorageSchema: z.ZodObject<{
|
|
|
48
48
|
actorId: z.ZodString;
|
|
49
49
|
actorType: z.ZodEnum<{
|
|
50
50
|
user: "user";
|
|
51
|
-
system: "system";
|
|
52
51
|
service: "service";
|
|
52
|
+
system: "system";
|
|
53
53
|
}>;
|
|
54
54
|
targetId: z.ZodOptional<z.ZodString>;
|
|
55
55
|
targetType: z.ZodOptional<z.ZodString>;
|
package/dist/audit/index.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export { AuditEntryStorageSchema, type AuditEntryStorage, type AuditRetentionPolicy, DEFAULT_RETENTION_POLICIES, type AuditStorageConfig, defaultAuditStorageConfig } from './audit.storage.schema';
|
|
1
|
+
export { AuditEntryStorageSchema, type AuditEntryStorage, type AuditRetentionPolicy, DEFAULT_RETENTION_POLICIES, type AuditStorageConfig, defaultAuditStorageConfig } from './audit.storage.schema.ts';
|
|
2
|
+
export { defaultAuditDescriptor, authenticationAuditDescriptor, securityAuditDescriptor, authorizationAuditDescriptor, dataAccessAuditDescriptor, dataModificationAuditDescriptor, configurationAuditDescriptor, ALL_AUDIT_DESCRIPTORS } from './audit.descriptor.ts';
|
|
3
|
+
export { auditLog, buildAuditEntry, redactAuditContext, emitAuditEntry, type AuditLogInput } from '../kinds/audit.ts';
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,yBAAyB,EACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/audit/index.js
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
export { AuditEntryStorageSchema, DEFAULT_RETENTION_POLICIES, defaultAuditStorageConfig } from
|
|
1
|
+
export { AuditEntryStorageSchema, DEFAULT_RETENTION_POLICIES, defaultAuditStorageConfig } from "./audit.storage.schema.js";
|
|
2
|
+
export { defaultAuditDescriptor, authenticationAuditDescriptor, securityAuditDescriptor, authorizationAuditDescriptor, dataAccessAuditDescriptor, dataModificationAuditDescriptor, configurationAuditDescriptor, ALL_AUDIT_DESCRIPTORS } from "./audit.descriptor.js";
|
|
3
|
+
// Audit emission: shape, redact and write one entry to the handed runtime's stderr.
|
|
4
|
+
export { auditLog, buildAuditEntry, redactAuditContext, emitAuditEntry } from "../kinds/audit.js";
|
|
2
5
|
//# sourceMappingURL=index.js.map
|
package/dist/audit/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EAGvB,0BAA0B,EAE1B,yBAAyB,EACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EAGvB,0BAA0B,EAE1B,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,oFAAoF;AACpF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAsB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit retention enforcement for file-backed audit loggers.
|
|
3
|
+
*
|
|
4
|
+
* The periodic run is a Workers job (`logging.audit-retention`,
|
|
5
|
+
* `audit-retention.job.descriptor.ts`): schedules belong to Workers (RC11,
|
|
6
|
+
* D19), so this module holds no timer. Its former env knobs moved with it:
|
|
7
|
+
* the interval is the job's declared `schedule`, and an operator switches it
|
|
8
|
+
* off through the Workers settings (`schedules['logging.audit-retention']
|
|
9
|
+
* .enabled = false`), not an environment variable.
|
|
10
|
+
*/
|
|
11
|
+
import type { AuditDescriptor } from '@vibesdotdev/logging/schemas/audit';
|
|
12
|
+
export interface AuditRetentionRuntime {
|
|
13
|
+
hasKind(kind: string): boolean;
|
|
14
|
+
query(kind: string): {
|
|
15
|
+
descriptors(): AuditDescriptor[];
|
|
16
|
+
withId(id: string): {
|
|
17
|
+
resolve<T>(): Promise<T>;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface AuditRetentionResult {
|
|
22
|
+
id: string;
|
|
23
|
+
deleted: number;
|
|
24
|
+
archived: number;
|
|
25
|
+
retentionDays: number;
|
|
26
|
+
}
|
|
27
|
+
export interface AuditRetentionFailure {
|
|
28
|
+
id: string;
|
|
29
|
+
error: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Enforce retention on every registered audit logger that supports it. One
|
|
33
|
+
* logger's failure does not stop the others; every failure is returned, named.
|
|
34
|
+
*/
|
|
35
|
+
export declare function enforceAllAuditRetention(runtime: AuditRetentionRuntime): Promise<{
|
|
36
|
+
results: AuditRetentionResult[];
|
|
37
|
+
failures: AuditRetentionFailure[];
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=scheduled-audit-retention.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduled-audit-retention.d.ts","sourceRoot":"","sources":["../../src/audit/scheduled-audit-retention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAI1E,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG;QACpB,WAAW,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;KACjD,CAAC;CACF;AAED,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC,CAmBjF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit retention enforcement for file-backed audit loggers.
|
|
3
|
+
*
|
|
4
|
+
* The periodic run is a Workers job (`logging.audit-retention`,
|
|
5
|
+
* `audit-retention.job.descriptor.ts`): schedules belong to Workers (RC11,
|
|
6
|
+
* D19), so this module holds no timer. Its former env knobs moved with it:
|
|
7
|
+
* the interval is the job's declared `schedule`, and an operator switches it
|
|
8
|
+
* off through the Workers settings (`schedules['logging.audit-retention']
|
|
9
|
+
* .enabled = false`), not an environment variable.
|
|
10
|
+
*/
|
|
11
|
+
import { attempt } from "../core/attempt.js";
|
|
12
|
+
import { ThrownMessageSchema } from "../core/redact.js";
|
|
13
|
+
/**
|
|
14
|
+
* Enforce retention on every registered audit logger that supports it. One
|
|
15
|
+
* logger's failure does not stop the others; every failure is returned, named.
|
|
16
|
+
*/
|
|
17
|
+
export async function enforceAllAuditRetention(runtime) {
|
|
18
|
+
const results = [];
|
|
19
|
+
const failures = [];
|
|
20
|
+
if (!runtime.hasKind('logging/audit'))
|
|
21
|
+
return { results, failures };
|
|
22
|
+
for (const descriptor of runtime.query('logging/audit').descriptors()) {
|
|
23
|
+
const enforced = await attempt(async () => {
|
|
24
|
+
const auditor = await runtime.query('logging/audit').withId(descriptor.id).resolve();
|
|
25
|
+
return auditor.enforceRetention ? await auditor.enforceRetention() : null;
|
|
26
|
+
});
|
|
27
|
+
if ('failure' in enforced) {
|
|
28
|
+
// The job output is serialized, so a failure is returned by its message.
|
|
29
|
+
const { cause } = enforced.failure;
|
|
30
|
+
failures.push({ id: descriptor.id, error: ThrownMessageSchema.parse(cause) });
|
|
31
|
+
}
|
|
32
|
+
else if (enforced.value) {
|
|
33
|
+
results.push({ id: descriptor.id, ...enforced.value });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return { results, failures };
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=scheduled-audit-retention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduled-audit-retention.js","sourceRoot":"","sources":["../../src/audit/scheduled-audit-retention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAsBxD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,OAA8B;IAE9B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpE,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,EAAuB,CAAC;YAC1G,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC3B,yEAAyE;YACzE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|