@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/dist/host.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vibesdotdev/logging/host
|
|
3
|
+
*
|
|
4
|
+
* The portable contract host packages implement (C092). It carries the
|
|
5
|
+
* descriptors, schemas and types a host's file outputs, sinks and audit
|
|
6
|
+
* loggers need, plus the portable pieces they compose (the JSONL formatter,
|
|
7
|
+
* audit entry shaping, the fallback logger, the captured logging config and
|
|
8
|
+
* resource tracking). It holds no host code: no `node:`/`bun:` import and no
|
|
9
|
+
* `Bun` global. `./host-files` is its base implementation over a host's file
|
|
10
|
+
* primitives; each runtime-environment host registers it with its own.
|
|
11
|
+
*/
|
|
12
|
+
export { FILE_OUTPUT_ID, type FileOutputDescriptor, type FileOutputImplementation, type AppendedFileRotation, type AppendedFileRotationPolicy } from './kinds/file-output.ts';
|
|
13
|
+
export type { OutputImplementation, OutputBackendFactory, OutputContext, OutputReadOptions, OutputTailOptions, TailHandle, OutputStats } from './kinds/output.types.ts';
|
|
14
|
+
export { DefaultOutputImplementation } from './kinds/output.impl.ts';
|
|
15
|
+
export type { SinkImplementation, SinkContext } from './kinds/sink.ts';
|
|
16
|
+
export type { FormatterImplementation } from './kinds/formatter.ts';
|
|
17
|
+
export { buildAuditEntry, type AuditImplementation, type AuditContext, type AuditLogInput, type AuditQueryOptions } from './kinds/audit.ts';
|
|
18
|
+
export { fileOutputDescriptor } from './outputs/file/file.outputs.descriptor.ts';
|
|
19
|
+
export { fileSinkDescriptor } from './sinks/file/file.sinks.descriptor.ts';
|
|
20
|
+
export { default as stdoutCaptureOutputDescriptor } from './stdout-capture/stdout-capture.output.descriptor.ts';
|
|
21
|
+
export { ALL_AUDIT_DESCRIPTORS } from './audit/audit.descriptor.ts';
|
|
22
|
+
export { auditRetentionJobDescriptor } from './audit/audit-retention.job.descriptor.ts';
|
|
23
|
+
export { AuditRetentionJob } from './audit/audit-retention.job.impl.ts';
|
|
24
|
+
export { OutputDescriptorSchema, type OutputDescriptor, type OutputRotation, type OutputBuffering } from './schemas/output.ts';
|
|
25
|
+
export { resolveOutputRotation, resolveOutputBuffering } from './schemas/output-defaults.ts';
|
|
26
|
+
export { resolveFileOutputRotation } from './config/file-rotation.ts';
|
|
27
|
+
export { SinkDescriptorSchema, type SinkDescriptor } from './schemas/sink.ts';
|
|
28
|
+
export { RuntimeLogEntrySchema, type RuntimeLogEntry, type LogContext } from './schemas/entry.ts';
|
|
29
|
+
export { AuditDescriptorSchema, AuditEntrySchema, auditSeverityMeets, type AuditDescriptor, type AuditEntry, type AuditSeverity } from './schemas/audit.ts';
|
|
30
|
+
export { default as JsonlFormatter } from './formatters/jsonl/jsonl.impl.ts';
|
|
31
|
+
export { default as jsonlFormatterDescriptor } from './formatters/jsonl/jsonl.descriptor.ts';
|
|
32
|
+
export { createFallbackLogger } from './contexts/fallback-logger.ts';
|
|
33
|
+
export { LoggedErrorSchema, type LoggedError } from './core/redact.ts';
|
|
34
|
+
export { trackLoggingResource, untrackLoggingResource } from './core/output-resources.ts';
|
|
35
|
+
export { captureLoggingConfig, getCapturedLoggingConfig } from './config/load-config.ts';
|
|
36
|
+
export { parseSize, parseDuration } from './core/parsing.ts';
|
|
37
|
+
export { attempt, attemptSync, isMissingPath, type Attempt, type Failure } from './core/attempt.ts';
|
|
38
|
+
//# sourceMappingURL=host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACN,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACX,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACN,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/host.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vibesdotdev/logging/host
|
|
3
|
+
*
|
|
4
|
+
* The portable contract host packages implement (C092). It carries the
|
|
5
|
+
* descriptors, schemas and types a host's file outputs, sinks and audit
|
|
6
|
+
* loggers need, plus the portable pieces they compose (the JSONL formatter,
|
|
7
|
+
* audit entry shaping, the fallback logger, the captured logging config and
|
|
8
|
+
* resource tracking). It holds no host code: no `node:`/`bun:` import and no
|
|
9
|
+
* `Bun` global. `./host-files` is its base implementation over a host's file
|
|
10
|
+
* primitives; each runtime-environment host registers it with its own.
|
|
11
|
+
*/
|
|
12
|
+
// Typed file-output contract
|
|
13
|
+
export { FILE_OUTPUT_ID } from "./kinds/file-output.js";
|
|
14
|
+
export { DefaultOutputImplementation } from "./kinds/output.impl.js";
|
|
15
|
+
export { buildAuditEntry } from "./kinds/audit.js";
|
|
16
|
+
// Descriptors
|
|
17
|
+
export { fileOutputDescriptor } from "./outputs/file/file.outputs.descriptor.js";
|
|
18
|
+
export { fileSinkDescriptor } from "./sinks/file/file.sinks.descriptor.js";
|
|
19
|
+
export { default as stdoutCaptureOutputDescriptor } from "./stdout-capture/stdout-capture.output.descriptor.js";
|
|
20
|
+
export { ALL_AUDIT_DESCRIPTORS } from "./audit/audit.descriptor.js";
|
|
21
|
+
export { auditRetentionJobDescriptor } from "./audit/audit-retention.job.descriptor.js";
|
|
22
|
+
export { AuditRetentionJob } from "./audit/audit-retention.job.impl.js";
|
|
23
|
+
// Schemas and rotation defaults
|
|
24
|
+
export { OutputDescriptorSchema } from "./schemas/output.js";
|
|
25
|
+
export { resolveOutputRotation, resolveOutputBuffering } from "./schemas/output-defaults.js";
|
|
26
|
+
export { resolveFileOutputRotation } from "./config/file-rotation.js";
|
|
27
|
+
export { SinkDescriptorSchema } from "./schemas/sink.js";
|
|
28
|
+
export { RuntimeLogEntrySchema } from "./schemas/entry.js";
|
|
29
|
+
export { AuditDescriptorSchema, AuditEntrySchema, auditSeverityMeets } from "./schemas/audit.js";
|
|
30
|
+
// Portable pieces a host composes
|
|
31
|
+
export { default as JsonlFormatter } from "./formatters/jsonl/jsonl.impl.js";
|
|
32
|
+
export { default as jsonlFormatterDescriptor } from "./formatters/jsonl/jsonl.descriptor.js";
|
|
33
|
+
export { createFallbackLogger } from "./contexts/fallback-logger.js";
|
|
34
|
+
export { LoggedErrorSchema } from "./core/redact.js";
|
|
35
|
+
export { trackLoggingResource, untrackLoggingResource } from "./core/output-resources.js";
|
|
36
|
+
export { captureLoggingConfig, getCapturedLoggingConfig } from "./config/load-config.js";
|
|
37
|
+
export { parseSize, parseDuration } from "./core/parsing.js";
|
|
38
|
+
export { attempt, attemptSync, isMissingPath } from "./core/attempt.js";
|
|
39
|
+
//# sourceMappingURL=host.js.map
|
package/dist/host.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6BAA6B;AAC7B,OAAO,EACN,cAAc,EAKd,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EACN,eAAe,EAKf,MAAM,kBAAkB,CAAC;AAE1B,cAAc;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,gCAAgC;AAChC,OAAO,EAAE,sBAAsB,EAAoE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAyC,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAIlB,MAAM,oBAAoB,CAAC;AAE5B,kCAAkC;AAClC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,14 +22,18 @@
|
|
|
22
22
|
* export default descriptor;
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
-
* 2. Get the logger
|
|
25
|
+
* 2. Get the logger by descriptor id (same string as `descriptor.id`):
|
|
26
26
|
* ```ts
|
|
27
|
-
* import { getLogger } from '@vibesdotdev/logging';
|
|
27
|
+
* import { getLogger, initializeLoggers } from '@vibesdotdev/logging';
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* // `runtime` is the runtime your host booted and handed to this code. After its
|
|
30
|
+
* // plugins register (plugins-core / app bootstrap calls this):
|
|
31
|
+
* await initializeLoggers(runtime);
|
|
32
|
+
*
|
|
33
|
+
* const logger = getLogger('myapp', runtime);
|
|
30
34
|
* logger.info('Application started', { version: '1.0.0' });
|
|
31
35
|
*
|
|
32
|
-
* // Child loggers
|
|
36
|
+
* // Child loggers — use .child(), not getLogger('myapp:database')
|
|
33
37
|
* const dbLogger = logger.child('database');
|
|
34
38
|
* dbLogger.debug('Connected to database');
|
|
35
39
|
* ```
|
|
@@ -44,24 +48,31 @@
|
|
|
44
48
|
* action: 'login',
|
|
45
49
|
* actor: { id: 'user-123', type: 'user' },
|
|
46
50
|
* outcome: 'success'
|
|
47
|
-
* });
|
|
51
|
+
* }, runtime);
|
|
48
52
|
* ```
|
|
49
53
|
*
|
|
50
54
|
* @module
|
|
51
55
|
*/
|
|
52
|
-
export { default as loggingPlugin } from './logging.plugin';
|
|
56
|
+
export { default as loggingPlugin } from './logging.plugin.ts';
|
|
57
|
+
export { loggingStdoutCapturePlugin } from './stdout-capture.plugin.ts';
|
|
58
|
+
export { REDACTED, FUNCTION_MARKER, SecretValue, isSecretKey, CREDENTIAL_KEY_WORDS, SecretValueSchema, RedactedLogValueSchema, secret, LoggedErrorSchema, type LoggedError } from './core/redact.ts';
|
|
59
|
+
export { RedactedEndpointSchema, UNPARSEABLE_ENDPOINT, UNSCRUBBABLE_FAILURE_MESSAGE, SUBSTRING_FRAGMENT_MIN_LENGTH, CREDENTIAL_QUERY_PARAMETER_NAMES, createEndpointFailureSchema, createEndpointTextSchema, UNSCRUBBABLE_TEXT } from './core/endpoint.ts';
|
|
60
|
+
export { NormalizedLogContextSchema, LogMethodSchema, PerformanceFailureSchema, type LogMethod, type PerformanceFailureMethod } from './core/normalize.ts';
|
|
61
|
+
export { acquireStdoutCapture, StdoutCaptureOptionsSchema, type StdoutCaptureOptions, type StdoutCaptureHandle } from './stdout-capture.ts';
|
|
62
|
+
export { rotateAppendedFile } from './rotation/rotate-appended-file.ts';
|
|
63
|
+
export { readRotationMaxAge, readRotationPolicy } from './rotation/rotation-policy.ts';
|
|
53
64
|
export type { Logger, Runtime, RuntimeLoggerOptions, RuntimeLoggerConfig } from './core/types.ts';
|
|
54
65
|
export type { LoggerChildOptions } from './schemas/index.ts';
|
|
55
|
-
export
|
|
56
|
-
export {
|
|
57
|
-
export { LogLevelSchema, type LogLevel, LOG_LEVEL_ORDER, LogContextSchema, type LogContext, LoggerChildOptionsSchema, RuntimeLogEntrySchema, type RuntimeLogEntry, type RequestLogContext, type JobLogContext, type PerformanceTracker, type PerformanceTrackerParams, SinkDescriptorSchema, type SinkDescriptor, type SinkFormat, type SinkBatching, FormatterDescriptorSchema, type FormatterDescriptor, type FormatterOptions, OutputDescriptorSchema, type OutputDescriptor, type OutputRotation, type OutputBuffering, type OutputStorage, AuditDescriptorSchema, type AuditDescriptor, AuditEntrySchema, type AuditEntry, type AuditCategory, type AuditSeverity, type AuditOutcome, type AuditActor, type AuditTarget, LoggerDescriptorSchema, type LoggerDescriptor, type LoggerRuntime } from './schemas/index.ts';
|
|
66
|
+
export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, updateNamespaceSettingsFromRuntime, getNamespaceSettings, defaultNamespaceSettings, type NamespaceSettings, type NamespaceSelector, type NamespaceSelectors } from './core/namespace.ts';
|
|
67
|
+
export { LogLevelSchema, type LogLevel, LOG_LEVEL_ORDER, LogContextSchema, type LogContext, LoggerChildOptionsSchema, RuntimeLogEntrySchema, type RuntimeLogEntry, type RequestLogContext, type JobLogContext, type PerformanceTracker, type PerformanceTrackerParams, SinkDescriptorSchema, type SinkDescriptor, type SinkFormat, type SinkBatching, FormatterDescriptorSchema, type FormatterDescriptor, type FormatterOptions, OutputDescriptorSchema, type OutputDescriptor, type OutputRotation, type OutputBuffering, type OutputStorage, type OutputRetentionBySurface, OutputRetentionBySurfaceSchema, DEFAULT_FILE_OUTPUT_ROTATION, DEFAULT_FILE_OUTPUT_BUFFERING, DEFAULT_ROTATED_FILE_CLEANUP_INTERVAL_MS, DEFAULT_AUDIT_RETENTION_INTERVAL_MS, resolveOutputRotation, resolveOutputBuffering, type ResolveOutputRotationOptions, AuditDescriptorSchema, type AuditDescriptor, AuditEntrySchema, type AuditEntry, type AuditCategory, type AuditSeverity, type AuditOutcome, type AuditActor, type AuditTarget, LoggerDescriptorSchema, type LoggerDescriptor, type LoggerRuntime } from './schemas/index.ts';
|
|
58
68
|
export { sinkKind, type SinkImplementation, type SinkContext } from './kinds/sink.ts';
|
|
59
69
|
export { formatterKind, type FormatterImplementation, type FormatterContext } from './kinds/formatter.ts';
|
|
60
|
-
export { outputKind, type OutputImplementation, type OutputContext, type OutputReadOptions, type OutputTailOptions, type TailHandle, type OutputStats } from './kinds/output.ts';
|
|
61
|
-
export {
|
|
70
|
+
export { outputKind, type OutputImplementation, type OutputBackendFactory, type OutputContext, type OutputReadOptions, type OutputTailOptions, type TailHandle, type OutputStats } from './kinds/output.ts';
|
|
71
|
+
export { FILE_OUTPUT_ID, type FileOutputDescriptor, type FileOutputImplementation, type AppendedFileRotation, type AppendedFileRotationPolicy } from './kinds/file-output.ts';
|
|
72
|
+
export { auditKind, type AuditImplementation, type AuditContext, type AuditLogInput, type AuditQueryOptions, auditLog, buildAuditEntry, emitAuditEntry, redactAuditContext } from './kinds/audit.ts';
|
|
62
73
|
export { loggerKind } from './kinds/logger.ts';
|
|
63
|
-
export { type LoggerImplementation, type LoggerContext } from './kinds/logger.impl';
|
|
64
|
-
export { configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers, type LoggerContextConfig, type LoggerContextProvider, type RuntimeLogger
|
|
74
|
+
export { type LoggerImplementation, type LoggerContext } from './kinds/logger.impl.ts';
|
|
75
|
+
export { configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers, LoggerContextConfigSchema, type LoggerContextConfig, type LoggerContextProvider, type RuntimeLogger } from './contexts/index.ts';
|
|
65
76
|
export { type MemorySinkQueryOptions } from './sinks/index.ts';
|
|
66
77
|
export { AuditEntryStorageSchema, type AuditEntryStorage, type AuditRetentionPolicy, DEFAULT_RETENTION_POLICIES, type AuditStorageConfig, defaultAuditStorageConfig } from './audit/index.ts';
|
|
67
78
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,14 +22,18 @@
|
|
|
22
22
|
* export default descriptor;
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
-
* 2. Get the logger
|
|
25
|
+
* 2. Get the logger by descriptor id (same string as `descriptor.id`):
|
|
26
26
|
* ```ts
|
|
27
|
-
* import { getLogger } from '@vibesdotdev/logging';
|
|
27
|
+
* import { getLogger, initializeLoggers } from '@vibesdotdev/logging';
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* // `runtime` is the runtime your host booted and handed to this code. After its
|
|
30
|
+
* // plugins register (plugins-core / app bootstrap calls this):
|
|
31
|
+
* await initializeLoggers(runtime);
|
|
32
|
+
*
|
|
33
|
+
* const logger = getLogger('myapp', runtime);
|
|
30
34
|
* logger.info('Application started', { version: '1.0.0' });
|
|
31
35
|
*
|
|
32
|
-
* // Child loggers
|
|
36
|
+
* // Child loggers — use .child(), not getLogger('myapp:database')
|
|
33
37
|
* const dbLogger = logger.child('database');
|
|
34
38
|
* dbLogger.debug('Connected to database');
|
|
35
39
|
* ```
|
|
@@ -44,27 +48,26 @@
|
|
|
44
48
|
* action: 'login',
|
|
45
49
|
* actor: { id: 'user-123', type: 'user' },
|
|
46
50
|
* outcome: 'success'
|
|
47
|
-
* });
|
|
51
|
+
* }, runtime);
|
|
48
52
|
* ```
|
|
49
53
|
*
|
|
50
54
|
* @module
|
|
51
55
|
*/
|
|
52
56
|
// Plugin
|
|
53
|
-
export { default as loggingPlugin } from
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
export const logger = getDefaultLogger();
|
|
57
|
+
export { default as loggingPlugin } from "./logging.plugin.js";
|
|
58
|
+
export { loggingStdoutCapturePlugin } from "./stdout-capture.plugin.js";
|
|
59
|
+
// Redaction and structured errors: every entry context passes through them.
|
|
60
|
+
export { REDACTED, FUNCTION_MARKER, SecretValue, isSecretKey, CREDENTIAL_KEY_WORDS, SecretValueSchema, RedactedLogValueSchema, secret, LoggedErrorSchema } from "./core/redact.js";
|
|
61
|
+
export { RedactedEndpointSchema, UNPARSEABLE_ENDPOINT, UNSCRUBBABLE_FAILURE_MESSAGE, SUBSTRING_FRAGMENT_MIN_LENGTH, CREDENTIAL_QUERY_PARAMETER_NAMES, createEndpointFailureSchema, createEndpointTextSchema, UNSCRUBBABLE_TEXT } from "./core/endpoint.js";
|
|
62
|
+
export { NormalizedLogContextSchema, LogMethodSchema, PerformanceFailureSchema } from "./core/normalize.js";
|
|
63
|
+
// Stdout diagnostic capture resolves through the selected host and sink.
|
|
64
|
+
export { acquireStdoutCapture, StdoutCaptureOptionsSchema } from "./stdout-capture.js";
|
|
65
|
+
// Rotation of files another process appends to: the named policy from the
|
|
66
|
+
// logging config manifest, applied by the selected host's typed file output.
|
|
67
|
+
export { rotateAppendedFile } from "./rotation/rotate-appended-file.js";
|
|
68
|
+
export { readRotationMaxAge, readRotationPolicy } from "./rotation/rotation-policy.js";
|
|
66
69
|
// Namespace utilities
|
|
67
|
-
export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, getNamespaceSettings, defaultNamespaceSettings } from "./core/namespace.js";
|
|
70
|
+
export { parseNamespaceSettings, parseNamespaceSettingsFromEnv, shouldLog, updateNamespaceSettings, updateNamespaceSettingsFromRuntime, getNamespaceSettings, defaultNamespaceSettings } from "./core/namespace.js";
|
|
68
71
|
// Schemas
|
|
69
72
|
export {
|
|
70
73
|
// Entry types
|
|
@@ -74,7 +77,7 @@ SinkDescriptorSchema,
|
|
|
74
77
|
// Formatter schemas
|
|
75
78
|
FormatterDescriptorSchema,
|
|
76
79
|
// Output schemas
|
|
77
|
-
OutputDescriptorSchema,
|
|
80
|
+
OutputDescriptorSchema, OutputRetentionBySurfaceSchema, DEFAULT_FILE_OUTPUT_ROTATION, DEFAULT_FILE_OUTPUT_BUFFERING, DEFAULT_ROTATED_FILE_CLEANUP_INTERVAL_MS, DEFAULT_AUDIT_RETENTION_INTERVAL_MS, resolveOutputRotation, resolveOutputBuffering,
|
|
78
81
|
// Audit schemas
|
|
79
82
|
AuditDescriptorSchema, AuditEntrySchema,
|
|
80
83
|
// Logger schemas
|
|
@@ -83,13 +86,14 @@ LoggerDescriptorSchema } from "./schemas/index.js";
|
|
|
83
86
|
export { sinkKind } from "./kinds/sink.js";
|
|
84
87
|
export { formatterKind } from "./kinds/formatter.js";
|
|
85
88
|
export { outputKind } from "./kinds/output.js";
|
|
86
|
-
export {
|
|
89
|
+
export { FILE_OUTPUT_ID } from "./kinds/file-output.js";
|
|
90
|
+
export { auditKind, auditLog, buildAuditEntry, emitAuditEntry, redactAuditContext } from "./kinds/audit.js";
|
|
87
91
|
export { loggerKind } from "./kinds/logger.js";
|
|
88
|
-
export {} from
|
|
92
|
+
export {} from "./kinds/logger.impl.js";
|
|
89
93
|
// Context providers
|
|
90
94
|
export {
|
|
91
95
|
// Logger context
|
|
92
|
-
configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers } from "./contexts/index.js";
|
|
96
|
+
configureLoggerContext, createLoggerContextProvider, getLoggerContext, setLoggerContext, getLogger, getDefaultLogger, registerLogger, initializeLoggers, LoggerContextConfigSchema } from "./contexts/index.js";
|
|
93
97
|
// Sinks (types only — implementations autoloaded by runtime)
|
|
94
98
|
export {} from "./sinks/index.js";
|
|
95
99
|
// Audit (storage schemas only — implementations autoloaded by runtime)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,4EAA4E;AAC5E,OAAO,EACN,QAAQ,EACR,eAAe,EACf,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,wBAAwB,EAAiD,MAAM,qBAAqB,CAAC;AAE3J,yEAAyE;AACzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAuD,MAAM,qBAAqB,CAAC;AAE5I,0EAA0E;AAC1E,6EAA6E;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQvF,sBAAsB;AACtB,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,SAAS,EACT,uBAAuB,EACvB,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EAIxB,MAAM,qBAAqB,CAAC;AAE7B,UAAU;AACV,OAAO;AACN,cAAc;AACd,cAAc,EAEd,eAAe,EACf,gBAAgB,EAEhB,wBAAwB,EACxB,qBAAqB;AAMrB,eAAe;AACf,oBAAoB;AAIpB,oBAAoB;AACpB,yBAAyB;AAGzB,iBAAiB;AACjB,sBAAsB,EAMtB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,wCAAwC,EACxC,mCAAmC,EACnC,qBAAqB,EACrB,sBAAsB;AAEtB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB;AAOhB,iBAAiB;AACjB,sBAAsB,EAGtB,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EAAE,QAAQ,EAA6C,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACN,aAAa,EAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,UAAU,EAQV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,cAAc,EAKd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,SAAS,EAKT,QAAQ,EACR,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAiD,MAAM,wBAAwB,CAAC;AAEvF,oBAAoB;AACpB,OAAO;AACN,iBAAiB;AACjB,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,6DAA6D;AAC7D,OAAO,EAA+B,MAAM,kBAAkB,CAAC;AAE/D,uEAAuE;AACvE,OAAO,EACN,uBAAuB,EAGvB,0BAA0B,EAE1B,yBAAyB,EACzB,MAAM,kBAAkB,CAAC"}
|
package/dist/kinds/audit.d.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Audit loggers capture compliance and security events.
|
|
5
5
|
*/
|
|
6
|
-
import type { RuntimeKindDescriptor, KindContext } from '@vibesdotdev/
|
|
6
|
+
import type { RuntimeKindDescriptor, KindContext } from '@vibesdotdev/kernel/schemas/kind';
|
|
7
|
+
import { type RuntimeRef } from '@vibesdotdev/kernel';
|
|
8
|
+
import type { LogContext } from '../schemas/entry.ts';
|
|
7
9
|
import { type AuditDescriptor, type AuditEntry, type AuditCategory, type AuditSeverity, type AuditOutcome, type AuditActor, type AuditTarget } from '../schemas/audit.ts';
|
|
8
10
|
/**
|
|
9
11
|
* Input for logging an audit event.
|
|
@@ -22,7 +24,7 @@ export interface AuditLogInput {
|
|
|
22
24
|
/** Event outcome */
|
|
23
25
|
outcome: AuditOutcome;
|
|
24
26
|
/** Additional context */
|
|
25
|
-
context?:
|
|
27
|
+
context?: LogContext;
|
|
26
28
|
/** Error details */
|
|
27
29
|
error?: string;
|
|
28
30
|
}
|
|
@@ -60,22 +62,52 @@ export interface AuditImplementation {
|
|
|
60
62
|
log(input: AuditLogInput): Promise<AuditEntry>;
|
|
61
63
|
/** Query audit entries (if supported) */
|
|
62
64
|
query?(options: AuditQueryOptions): Promise<AuditEntry[]>;
|
|
65
|
+
/** Enforce category retention policy (file-backed implementations) */
|
|
66
|
+
enforceRetention?(): Promise<{
|
|
67
|
+
deleted: number;
|
|
68
|
+
archived: number;
|
|
69
|
+
retentionDays: number;
|
|
70
|
+
}>;
|
|
63
71
|
}
|
|
64
72
|
/**
|
|
65
73
|
* Context provided to audit implementations.
|
|
66
74
|
*/
|
|
67
75
|
export interface AuditContext extends KindContext {
|
|
68
|
-
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
/**
|
|
77
|
+
* An explicitly requested workspace context. Portable implementations need
|
|
78
|
+
* no workspace; relative file destinations require the descriptor-injected
|
|
79
|
+
* root and refuse when it was not supplied.
|
|
80
|
+
*/
|
|
81
|
+
readonly 'runtime/workspace-path'?: string;
|
|
72
82
|
}
|
|
83
|
+
/** Apply the logging owner's recursive key and value redaction to audit context. */
|
|
84
|
+
export declare function redactAuditContext(context: LogContext | undefined): LogContext | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Build a fully-formed, redacted audit entry from an input.
|
|
87
|
+
*
|
|
88
|
+
* Single source of truth for entry shaping (id/timestamp generation + context
|
|
89
|
+
* redaction). Surfaces that need the entry value (e.g. to forward it onward)
|
|
90
|
+
* call this; surfaces that only emit use {@link auditLog}. The input is read
|
|
91
|
+
* once, through guards, and refuses typed and value-free (see `buildRedactedAuditEntry`).
|
|
92
|
+
*/
|
|
93
|
+
export declare function buildAuditEntry(input: AuditLogInput): AuditEntry;
|
|
94
|
+
/**
|
|
95
|
+
* Write an audit entry through the handed host's stderr provider. The entry is
|
|
96
|
+
* read once and shaped exactly as `buildAuditEntry` shapes an input (its
|
|
97
|
+
* context through the emitted-context redaction, every other field through the
|
|
98
|
+
* redaction walk) before it is validated, so a caller-built entry cannot bypass
|
|
99
|
+
* redaction, and a value that cannot be read refuses with a typed, value-free
|
|
100
|
+
* `ZodError`, never with what the value threw.
|
|
101
|
+
*/
|
|
102
|
+
export declare function emitAuditEntry(entry: AuditEntry, runtime: RuntimeRef): Promise<void>;
|
|
103
|
+
/** Build a redacted entry and await its emission through the handed Runtime. */
|
|
104
|
+
export declare function auditLog(input: AuditLogInput, runtime: RuntimeRef): Promise<void>;
|
|
73
105
|
/**
|
|
74
106
|
* Audit kind definition for runtime registration.
|
|
75
107
|
*/
|
|
76
108
|
export declare const auditKind: RuntimeKindDescriptor<AuditDescriptor, AuditImplementation, AuditContext>;
|
|
77
|
-
declare
|
|
78
|
-
interface
|
|
109
|
+
declare global {
|
|
110
|
+
interface VibesKindTypeMap {
|
|
79
111
|
'logging/audit': {
|
|
80
112
|
descriptor: AuditDescriptor;
|
|
81
113
|
impl: AuditImplementation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAqB,MAAM,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/kinds/audit.js
CHANGED
|
@@ -3,46 +3,107 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Audit loggers capture compliance and security events.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { CapabilityError, getRuntimeStdio } from '@vibesdotdev/kernel';
|
|
7
|
+
import * as z from 'zod/v4';
|
|
8
|
+
import { NormalizedLogContextSchema, EmittedLogContextSchema } from "../core/normalize.js";
|
|
9
|
+
import { createFieldsReadSchema, RedactedLogValueSchema } from "../core/redact.js";
|
|
10
|
+
import { AuditDescriptorSchema, AuditEntrySchema, auditSeverityMeets } from "../schemas/audit.js";
|
|
7
11
|
/**
|
|
8
12
|
* Default audit implementation - logs to stderr.
|
|
9
13
|
* Used when no specific implementation is registered.
|
|
10
14
|
*/
|
|
11
15
|
class DefaultAuditImplementation {
|
|
16
|
+
runtime;
|
|
12
17
|
id;
|
|
13
18
|
descriptor;
|
|
14
|
-
constructor(descriptor,
|
|
19
|
+
constructor(descriptor, context) {
|
|
20
|
+
this.runtime = context.runtime;
|
|
15
21
|
this.id = descriptor.id;
|
|
16
|
-
this.descriptor = descriptor;
|
|
22
|
+
this.descriptor = AuditDescriptorSchema.parse(descriptor);
|
|
17
23
|
}
|
|
18
24
|
async log(input) {
|
|
19
|
-
const entry =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
severity: input.severity,
|
|
24
|
-
action: input.action,
|
|
25
|
-
actor: input.actor,
|
|
26
|
-
target: input.target,
|
|
27
|
-
outcome: input.outcome,
|
|
28
|
-
context: input.context,
|
|
29
|
-
error: input.error
|
|
30
|
-
};
|
|
31
|
-
// Default: log to stderr to avoid stdout pollution (critical for MCP stdio)
|
|
32
|
-
console.error(`[AUDIT] ${JSON.stringify(entry)}`);
|
|
25
|
+
const entry = buildAuditEntry(input);
|
|
26
|
+
// Below the descriptor's minimum severity the entry is shaped and returned, never written.
|
|
27
|
+
if (auditSeverityMeets(entry.severity, this.descriptor.severity))
|
|
28
|
+
await emitAuditEntry(entry, this.runtime);
|
|
33
29
|
return entry;
|
|
34
30
|
}
|
|
35
31
|
}
|
|
32
|
+
/** Apply the logging owner's recursive key and value redaction to audit context. */
|
|
33
|
+
export function redactAuditContext(context) {
|
|
34
|
+
return context === undefined ? undefined : NormalizedLogContextSchema.parse(context);
|
|
35
|
+
}
|
|
36
|
+
/** The fields an audit input carries; an entry adds its `id` and `timestamp`. */
|
|
37
|
+
const AUDIT_INPUT_FIELDS = ['category', 'severity', 'action', 'actor', 'target', 'outcome', 'context', 'error'];
|
|
38
|
+
const AuditInputFieldsSchema = createFieldsReadSchema(AUDIT_INPUT_FIELDS);
|
|
39
|
+
const AuditEntryFieldsSchema = createFieldsReadSchema(['id', 'timestamp', ...AUDIT_INPUT_FIELDS]);
|
|
40
|
+
/**
|
|
41
|
+
* The one shaping of a caller's audit value. Each top-level field is read once
|
|
42
|
+
* inside the guard; the entry's `context` passes through the emitted-context
|
|
43
|
+
* redaction (an Error as the context is described, a hostile nested value
|
|
44
|
+
* described in place); every other field is snapshotted through the redaction
|
|
45
|
+
* walk (each nested field read once, secret keys and `secret()` values
|
|
46
|
+
* replaced); and only then is the entry validated. A value that cannot be read
|
|
47
|
+
* (a getter, a Proxy trap, a revoked Proxy, the whole input or any field) or
|
|
48
|
+
* that is not the declared shape refuses with a typed, value-free `ZodError`:
|
|
49
|
+
* never with what the value threw, and nothing is written.
|
|
50
|
+
*/
|
|
51
|
+
function buildRedactedAuditEntry(fields, stamp) {
|
|
52
|
+
const { context, ...rest } = fields;
|
|
53
|
+
const snapshot = RedactedLogValueSchema.parse({ ...rest, ...stamp });
|
|
54
|
+
const redactedContext = context === undefined ? undefined : EmittedLogContextSchema.parse(context);
|
|
55
|
+
const entry = AuditEntrySchema.parse({ ...AuditSnapshotSchema.parse(snapshot), context: redactedContext });
|
|
56
|
+
// The entry keeps the context snapshot itself: the record schema's copy would drop an own `__proto__` field.
|
|
57
|
+
if (redactedContext !== undefined)
|
|
58
|
+
entry.context = redactedContext;
|
|
59
|
+
return entry;
|
|
60
|
+
}
|
|
61
|
+
/** The walked snapshot of an audit value's non-context fields: a plain record (the walk of a plain record). */
|
|
62
|
+
const AuditSnapshotSchema = z.record(z.string(), z.unknown());
|
|
63
|
+
/**
|
|
64
|
+
* Build a fully-formed, redacted audit entry from an input.
|
|
65
|
+
*
|
|
66
|
+
* Single source of truth for entry shaping (id/timestamp generation + context
|
|
67
|
+
* redaction). Surfaces that need the entry value (e.g. to forward it onward)
|
|
68
|
+
* call this; surfaces that only emit use {@link auditLog}. The input is read
|
|
69
|
+
* once, through guards, and refuses typed and value-free (see `buildRedactedAuditEntry`).
|
|
70
|
+
*/
|
|
71
|
+
export function buildAuditEntry(input) {
|
|
72
|
+
return buildRedactedAuditEntry(AuditInputFieldsSchema.parse(input), { id: crypto.randomUUID(), timestamp: new Date().toISOString() });
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Write an audit entry through the handed host's stderr provider. The entry is
|
|
76
|
+
* read once and shaped exactly as `buildAuditEntry` shapes an input (its
|
|
77
|
+
* context through the emitted-context redaction, every other field through the
|
|
78
|
+
* redaction walk) before it is validated, so a caller-built entry cannot bypass
|
|
79
|
+
* redaction, and a value that cannot be read refuses with a typed, value-free
|
|
80
|
+
* `ZodError`, never with what the value threw.
|
|
81
|
+
*/
|
|
82
|
+
export async function emitAuditEntry(entry, runtime) {
|
|
83
|
+
if (!runtime)
|
|
84
|
+
throw new CapabilityError('Audit emission requires a handed Runtime.', 'INVALID_INPUT', {
|
|
85
|
+
reason: 'audit-runtime-missing', retryable: false
|
|
86
|
+
});
|
|
87
|
+
const { id, timestamp, ...fields } = AuditEntryFieldsSchema.parse(entry);
|
|
88
|
+
const redacted = buildRedactedAuditEntry(fields, { id, timestamp });
|
|
89
|
+
const stdio = await getRuntimeStdio(runtime);
|
|
90
|
+
stdio.write('stderr', '[AUDIT] ' + JSON.stringify(redacted) + '\n');
|
|
91
|
+
}
|
|
92
|
+
/** Build a redacted entry and await its emission through the handed Runtime. */
|
|
93
|
+
export async function auditLog(input, runtime) {
|
|
94
|
+
await emitAuditEntry(buildAuditEntry(input), runtime);
|
|
95
|
+
}
|
|
36
96
|
/**
|
|
37
97
|
* Audit kind resolution logic.
|
|
38
98
|
* Selects audit logger based on category and hardware.
|
|
39
99
|
*/
|
|
40
100
|
function resolveAudit(candidates, scope, _context) {
|
|
101
|
+
if (!candidates.every((candidate) => AuditDescriptorSchema.safeParse(candidate).success)) {
|
|
102
|
+
throw new CapabilityError('Logging kind received an invalid registered descriptor.', 'INVALID_INPUT', { reason: 'logging-descriptor-invalid' });
|
|
103
|
+
}
|
|
41
104
|
const typed = candidates;
|
|
42
105
|
if (typed.length === 0)
|
|
43
106
|
return undefined;
|
|
44
|
-
if (typed.length === 1)
|
|
45
|
-
return typed[0];
|
|
46
107
|
const hardware = scope.hardware;
|
|
47
108
|
// Filter by hardware compatibility
|
|
48
109
|
const matching = typed.filter((d) => {
|
|
@@ -66,6 +127,7 @@ export const auditKind = {
|
|
|
66
127
|
descriptorSchema: AuditDescriptorSchema,
|
|
67
128
|
defaultImplementation: DefaultAuditImplementation,
|
|
68
129
|
resolve: resolveAudit,
|
|
69
|
-
|
|
130
|
+
isEligible: (descriptor, _requestedScope, executionScope) => !descriptor.hardware?.length || descriptor.hardware.includes(executionScope.hardware),
|
|
131
|
+
contexts: []
|
|
70
132
|
};
|
|
71
133
|
//# sourceMappingURL=audit.js.map
|
package/dist/kinds/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACN,qBAAqB,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/kinds/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/kinds/contexts.d.ts
CHANGED
|
@@ -4,18 +4,19 @@
|
|
|
4
4
|
* Shared context interfaces to avoid circular dependencies.
|
|
5
5
|
* This file contains only type definitions - no implementations.
|
|
6
6
|
*/
|
|
7
|
-
import type { KindContext } from '@vibesdotdev/
|
|
7
|
+
import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
|
|
8
8
|
import type { SinkImplementation } from './sink.ts';
|
|
9
9
|
import type { OutputImplementation } from './output.ts';
|
|
10
10
|
/**
|
|
11
11
|
* Context provided to logger implementations.
|
|
12
12
|
*/
|
|
13
13
|
export interface LoggerContext extends KindContext {
|
|
14
|
-
/** Runtime reference */
|
|
15
|
-
readonly runtime: unknown;
|
|
16
14
|
/** Available sinks for this logger */
|
|
17
15
|
readonly sinks?: Map<string, SinkImplementation> | SinkImplementation[];
|
|
18
16
|
/** Available outputs for this logger */
|
|
19
17
|
readonly outputs?: Map<string, OutputImplementation> | OutputImplementation[];
|
|
18
|
+
/** Explicit Runtime context requests use the same owning port types. */
|
|
19
|
+
readonly 'logging/sinks'?: Map<string, SinkImplementation> | SinkImplementation[];
|
|
20
|
+
readonly 'logging/outputs'?: Map<string, OutputImplementation> | OutputImplementation[];
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=contexts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/kinds/contexts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/kinds/contexts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IACxE,wCAAwC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,oBAAoB,EAAE,CAAC;IAC9E,wEAAwE;IACxE,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IAClF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,oBAAoB,EAAE,CAAC;CACxF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The typed file-output contract (C092).
|
|
3
|
+
*
|
|
4
|
+
* The `logging/output` descriptor with id `file` is the file-storage backend a
|
|
5
|
+
* host package implements (`@vibesdotdev/host-node/logging`).
|
|
6
|
+
* Callers resolve it by id with these generics and call its required methods:
|
|
7
|
+
* no `instanceof`, no optional-method presence checks.
|
|
8
|
+
*/
|
|
9
|
+
import type { OutputDescriptor } from '../schemas/output.ts';
|
|
10
|
+
import type { OutputContext, OutputImplementation } from './output.types.ts';
|
|
11
|
+
/** The `logging/output` id of the file-storage backend. */
|
|
12
|
+
export declare const FILE_OUTPUT_ID = "file";
|
|
13
|
+
/** A file-storage output descriptor: the `file` backend or a named stream it creates. */
|
|
14
|
+
export type FileOutputDescriptor = OutputDescriptor & {
|
|
15
|
+
readonly storage: 'file';
|
|
16
|
+
};
|
|
17
|
+
export interface AppendedFileRotationPolicy {
|
|
18
|
+
/** Rotate once the active file reaches this many bytes. */
|
|
19
|
+
maxSizeBytes: number;
|
|
20
|
+
/** Archives kept: `<path>.1` … `<path>.<maxFiles>`. */
|
|
21
|
+
maxFiles: number;
|
|
22
|
+
}
|
|
23
|
+
export interface AppendedFileRotation {
|
|
24
|
+
rotated: boolean;
|
|
25
|
+
/** Size of the active file when rotation copied it. */
|
|
26
|
+
previousSize?: number;
|
|
27
|
+
}
|
|
28
|
+
/** What a host's file output provides. Every member is required. */
|
|
29
|
+
export interface FileOutputImplementation extends OutputImplementation {
|
|
30
|
+
/**
|
|
31
|
+
* Create a separately configured file stream with the same contract, on
|
|
32
|
+
* the stream context of the Runtime that selected this backend.
|
|
33
|
+
*/
|
|
34
|
+
create(descriptor: OutputDescriptor, namedContext: OutputContext): Promise<FileOutputImplementation>;
|
|
35
|
+
/** Write a raw line, in write order. */
|
|
36
|
+
writeLine(line: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Admit a line now and write it once it is classified: `null` writes
|
|
39
|
+
* nothing. Disposal joins every admitted line.
|
|
40
|
+
*/
|
|
41
|
+
writeReservedLine(line: Promise<string | null>): Promise<void>;
|
|
42
|
+
/** Close the active file, archive it and bound the archives; `archived` is `null` when there was no active file. */
|
|
43
|
+
rotate(): Promise<{
|
|
44
|
+
archived: string | null;
|
|
45
|
+
}>;
|
|
46
|
+
/** Enforce rotation retention without rotating the active file. */
|
|
47
|
+
enforceRetention(): Promise<{
|
|
48
|
+
removed: number;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* Copy-truncate rotation for a file another process appends to through an
|
|
52
|
+
* inherited `O_APPEND` descriptor.
|
|
53
|
+
*/
|
|
54
|
+
rotateAppendedFile(path: string, policy: AppendedFileRotationPolicy): Promise<AppendedFileRotation>;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=file-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-output.d.ts","sourceRoot":"","sources":["../../src/kinds/file-output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,2DAA2D;AAC3D,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,yFAAyF;AACzF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,WAAW,0BAA0B;IAC1C,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oEAAoE;AACpE,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACrE;;;OAGG;IACH,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrG,wCAAwC;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,oHAAoH;IACpH,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC/C,mEAAmE;IACnE,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpG"}
|