@vibesdotdev/logging 0.0.2 → 1.0.0-rc.4
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
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Error Capture
|
|
3
|
+
*
|
|
4
|
+
* Records client-side errors from SvelteKit error boundaries through the
|
|
5
|
+
* handed logger, and keeps the most recent ones in a ring buffer on the handed
|
|
6
|
+
* runtime's browser host storage (`runtime/browser-host`).
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import { type RuntimeRef } from '@vibesdotdev/kernel';
|
|
10
|
+
import type { Logger } from '../core/types.ts';
|
|
11
|
+
/** The browser host storage key of the error ring buffer; `read-errors.ts` reads the same key. */
|
|
12
|
+
export declare const ERROR_RING_BUFFER_KEY = "vibes:error-log";
|
|
13
|
+
/** The ring buffer keeps this many newest events. */
|
|
14
|
+
export declare const ERROR_RING_BUFFER_SIZE = 100;
|
|
15
|
+
/**
|
|
16
|
+
* Error telemetry event structure
|
|
17
|
+
*/
|
|
18
|
+
export interface ErrorTelemetryEvent {
|
|
19
|
+
/** ISO timestamp */
|
|
20
|
+
timestamp: string;
|
|
21
|
+
/** Host version from the handed runtime, or 'unknown' */
|
|
22
|
+
version: string;
|
|
23
|
+
/** Current route */
|
|
24
|
+
route: string;
|
|
25
|
+
/** Error message */
|
|
26
|
+
message: string;
|
|
27
|
+
/** Error stack trace */
|
|
28
|
+
stack?: string;
|
|
29
|
+
/** HTTP status code if from error boundary */
|
|
30
|
+
status?: number;
|
|
31
|
+
/** Error source. Earlier releases also persisted global handler sources. */
|
|
32
|
+
source: 'sveltekit' | 'window.onerror' | 'unhandledrejection';
|
|
33
|
+
}
|
|
34
|
+
/** The stored ring buffer: a JSON array of `ErrorTelemetryEvent`. Shared with `read-errors.ts`. */
|
|
35
|
+
export declare const ErrorRingBufferSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<any, string>>, z.ZodArray<z.ZodObject<{
|
|
36
|
+
timestamp: z.ZodString;
|
|
37
|
+
version: z.ZodString;
|
|
38
|
+
route: z.ZodString;
|
|
39
|
+
message: z.ZodString;
|
|
40
|
+
stack: z.ZodOptional<z.ZodString>;
|
|
41
|
+
status: z.ZodOptional<z.ZodNumber>;
|
|
42
|
+
source: z.ZodEnum<{
|
|
43
|
+
sveltekit: "sveltekit";
|
|
44
|
+
"window.onerror": "window.onerror";
|
|
45
|
+
unhandledrejection: "unhandledrejection";
|
|
46
|
+
}>;
|
|
47
|
+
}, z.core.$strip>>>;
|
|
48
|
+
/** What a SvelteKit `+error.svelte` boundary reports. */
|
|
49
|
+
export declare const SvelteKitErrorSchema: z.ZodObject<{
|
|
50
|
+
status: z.ZodNumber;
|
|
51
|
+
message: z.ZodString;
|
|
52
|
+
route: z.ZodString;
|
|
53
|
+
stack: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export type SvelteKitError = z.input<typeof SvelteKitErrorSchema>;
|
|
56
|
+
/** The handed runtime surface error capture reads: its browser host and host version. */
|
|
57
|
+
export type ErrorCaptureRuntime = Pick<RuntimeRef, 'hasKind' | 'query' | 'localEnvironment'>;
|
|
58
|
+
/**
|
|
59
|
+
* Capture an error from a SvelteKit `+error.svelte` boundary. The event is
|
|
60
|
+
* always recorded through the handed logger first. It is then appended to the
|
|
61
|
+
* ring buffer (`vibes:error-log`, newest 100) on the handed runtime's browser
|
|
62
|
+
* host; a host with no browser host refuses `UNAVAILABLE browser-host-unavailable`.
|
|
63
|
+
* A storage refusal (quota, private mode) is reported through the logger.
|
|
64
|
+
*/
|
|
65
|
+
export declare function captureSvelteKitError(runtime: ErrorCaptureRuntime, logger: Logger, error: SvelteKitError): Promise<void>;
|
|
66
|
+
//# sourceMappingURL=capture-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-error.d.ts","sourceRoot":"","sources":["../../src/browser/capture-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAkD,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,MAAM,EAAE,WAAW,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;CAC9D;AAaD,mGAAmG;AACnG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;mBAKQ,CAAC;AAE3C,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,GAAG,kBAAkB,CAAC,CAAC;AAY7F;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9H"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Error Capture
|
|
3
|
+
*
|
|
4
|
+
* Records client-side errors from SvelteKit error boundaries through the
|
|
5
|
+
* handed logger, and keeps the most recent ones in a ring buffer on the handed
|
|
6
|
+
* runtime's browser host storage (`runtime/browser-host`).
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import { getRuntimeBrowserHost } from '@vibesdotdev/kernel';
|
|
10
|
+
import { attempt } from "../core/outcome.js";
|
|
11
|
+
import { createFieldsReadSchema, RedactedLogValueSchema } from "../core/redact.js";
|
|
12
|
+
/** The browser host storage key of the error ring buffer; `read-errors.ts` reads the same key. */
|
|
13
|
+
export const ERROR_RING_BUFFER_KEY = 'vibes:error-log';
|
|
14
|
+
/** The ring buffer keeps this many newest events. */
|
|
15
|
+
export const ERROR_RING_BUFFER_SIZE = 100;
|
|
16
|
+
/** The persisted ring-buffer entry, parsed where it is read back from storage. */
|
|
17
|
+
const ErrorTelemetryEventSchema = z.object({
|
|
18
|
+
timestamp: z.string(),
|
|
19
|
+
version: z.string(),
|
|
20
|
+
route: z.string(),
|
|
21
|
+
message: z.string(),
|
|
22
|
+
stack: z.string().optional(),
|
|
23
|
+
status: z.number().optional(),
|
|
24
|
+
source: z.enum(['sveltekit', 'window.onerror', 'unhandledrejection'])
|
|
25
|
+
});
|
|
26
|
+
/** The stored ring buffer: a JSON array of `ErrorTelemetryEvent`. Shared with `read-errors.ts`. */
|
|
27
|
+
export const ErrorRingBufferSchema = z.string().transform((raw, context) => {
|
|
28
|
+
const parsed = attempt(() => JSON.parse(raw));
|
|
29
|
+
if (!parsed.failed)
|
|
30
|
+
return parsed.value;
|
|
31
|
+
context.addIssue({ code: 'custom', message: parsed.cause instanceof Error ? parsed.cause.message : 'The stored ring buffer is not JSON.' });
|
|
32
|
+
return z.NEVER;
|
|
33
|
+
}).pipe(ErrorTelemetryEventSchema.array());
|
|
34
|
+
/** What a SvelteKit `+error.svelte` boundary reports. */
|
|
35
|
+
export const SvelteKitErrorSchema = z.object({
|
|
36
|
+
status: z.number(),
|
|
37
|
+
message: z.string(),
|
|
38
|
+
route: z.string(),
|
|
39
|
+
stack: z.string().optional()
|
|
40
|
+
});
|
|
41
|
+
const SvelteKitErrorFieldsSchema = createFieldsReadSchema(['status', 'message', 'route', 'stack']);
|
|
42
|
+
/** The stored ring buffer; a malformed one is reported and replaced. */
|
|
43
|
+
function readRingBuffer(storage, logger) {
|
|
44
|
+
const raw = storage.getItem(ERROR_RING_BUFFER_KEY);
|
|
45
|
+
if (raw === null)
|
|
46
|
+
return [];
|
|
47
|
+
const stored = ErrorRingBufferSchema.safeParse(raw);
|
|
48
|
+
if (stored.success)
|
|
49
|
+
return stored.data;
|
|
50
|
+
logger.warn('Replacing a malformed browser error ring buffer.', { key: ERROR_RING_BUFFER_KEY, issues: stored.error.issues.map(issue => issue.message) });
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Capture an error from a SvelteKit `+error.svelte` boundary. The event is
|
|
55
|
+
* always recorded through the handed logger first. It is then appended to the
|
|
56
|
+
* ring buffer (`vibes:error-log`, newest 100) on the handed runtime's browser
|
|
57
|
+
* host; a host with no browser host refuses `UNAVAILABLE browser-host-unavailable`.
|
|
58
|
+
* A storage refusal (quota, private mode) is reported through the logger.
|
|
59
|
+
*/
|
|
60
|
+
export async function captureSvelteKitError(runtime, logger, error) {
|
|
61
|
+
// Each field is read once inside a guard and walked before it is validated, so a hostile error refuses with a
|
|
62
|
+
// typed, value-free `ZodError`, never with what a getter or Proxy trap threw.
|
|
63
|
+
const input = SvelteKitErrorSchema.parse(RedactedLogValueSchema.parse(SvelteKitErrorFieldsSchema.parse(error)));
|
|
64
|
+
const event = {
|
|
65
|
+
timestamp: new Date().toISOString(),
|
|
66
|
+
version: runtime.localEnvironment.hostVersion?.() ?? 'unknown',
|
|
67
|
+
route: input.route,
|
|
68
|
+
message: input.message,
|
|
69
|
+
stack: input.stack,
|
|
70
|
+
status: input.status,
|
|
71
|
+
source: 'sveltekit'
|
|
72
|
+
};
|
|
73
|
+
logger.error(`SvelteKit error boundary: ${event.message}`, { ...event });
|
|
74
|
+
const { storage } = await getRuntimeBrowserHost(runtime);
|
|
75
|
+
const stored = attempt(() => {
|
|
76
|
+
const buffer = [...readRingBuffer(storage, logger), event].slice(-ERROR_RING_BUFFER_SIZE);
|
|
77
|
+
storage.setItem(ERROR_RING_BUFFER_KEY, JSON.stringify(buffer));
|
|
78
|
+
});
|
|
79
|
+
if (stored.failed)
|
|
80
|
+
logger.warn('The browser error ring buffer refused the captured event.', { key: ERROR_RING_BUFFER_KEY, error: stored.cause });
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=capture-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-error.js","sourceRoot":"","sources":["../../src/browser/capture-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAA4C,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,kGAAkG;AAClG,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAsB1C,kFAAkF;AAClF,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;CACrE,CAA0C,CAAC;AAE5C,mGAAmG;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAC;IAC5I,OAAO,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGH,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAKnG,wEAAwE;AACxE,SAAS,cAAc,CAAC,OAAsC,EAAE,MAAc;IAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzJ,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA4B,EAAE,MAAc,EAAE,KAAqB;IAC9G,8GAA8G;IAC9G,8EAA8E;IAC9E,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,KAAK,GAAwB;QAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,IAAI,SAAS;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,WAAW;KACnB,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACzE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAClJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vibesdotdev/logging/browser
|
|
3
|
+
*
|
|
4
|
+
* Browser-optimized logging sinks for vibes logging.
|
|
5
|
+
*/
|
|
6
|
+
export { default as loggingBrowserPlugin, loggingBrowserPlugin as default } from './logging-browser.plugin.ts';
|
|
7
|
+
export { browserSinkDescriptor } from './sinks/browser/browser.browser.descriptor.ts';
|
|
8
|
+
export { default as BrowserSink } from './sinks/browser/browser.impl.browser.ts';
|
|
9
|
+
export { captureSvelteKitError, type SvelteKitError, type ErrorCaptureRuntime, type ErrorTelemetryEvent } from './capture-error.ts';
|
|
10
|
+
export { readRecentBrowserErrors, ReadRecentBrowserErrorsOptionsSchema, type ReadRecentBrowserErrorsOptions, type ErrorReadRuntime } from './read-errors.ts';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,oBAAoB,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAGjF,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGpI,OAAO,EAAE,uBAAuB,EAAE,oCAAoC,EAAE,KAAK,8BAA8B,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vibesdotdev/logging/browser
|
|
3
|
+
*
|
|
4
|
+
* Browser-optimized logging sinks for vibes logging.
|
|
5
|
+
*/
|
|
6
|
+
// Plugin
|
|
7
|
+
export { default as loggingBrowserPlugin, loggingBrowserPlugin as default } from "./logging-browser.plugin.js";
|
|
8
|
+
// Sink descriptors
|
|
9
|
+
export { browserSinkDescriptor } from "./sinks/browser/browser.browser.descriptor.js";
|
|
10
|
+
// Implementation (for direct use / testing)
|
|
11
|
+
export { default as BrowserSink } from "./sinks/browser/browser.impl.browser.js";
|
|
12
|
+
// SvelteKit error boundary capture
|
|
13
|
+
export { captureSvelteKitError } from "./capture-error.js";
|
|
14
|
+
// Recent captured errors, read back from the ring buffer
|
|
15
|
+
export { readRecentBrowserErrors, ReadRecentBrowserErrorsOptionsSchema } from "./read-errors.js";
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,oBAAoB,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE/G,mBAAmB;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEtF,4CAA4C;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEjF,mCAAmC;AACnC,OAAO,EAAE,qBAAqB,EAA2E,MAAM,oBAAoB,CAAC;AAEpI,yDAAyD;AACzD,OAAO,EAAE,uBAAuB,EAAE,oCAAoC,EAA8D,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging Browser Plugin
|
|
3
|
+
*
|
|
4
|
+
* Registers browser-optimized logging sinks with the runtime.
|
|
5
|
+
* Browser environments only (uses localStorage, window, console CSS).
|
|
6
|
+
*/
|
|
7
|
+
export declare const loggingBrowserPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
|
|
8
|
+
export default loggingBrowserPlugin;
|
|
9
|
+
//# sourceMappingURL=logging-browser.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging-browser.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/logging-browser.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,oBAAoB,6CAiB/B,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging Browser Plugin
|
|
3
|
+
*
|
|
4
|
+
* Registers browser-optimized logging sinks with the runtime.
|
|
5
|
+
* Browser environments only (uses localStorage, window, console CSS).
|
|
6
|
+
*/
|
|
7
|
+
import { createRuntimePlugin, getRuntimeBrowserHost, getRuntimeConsole } from '@vibesdotdev/kernel';
|
|
8
|
+
// Descriptors
|
|
9
|
+
import browserSinkDescriptor from "./sinks/browser/browser.browser.descriptor.js";
|
|
10
|
+
export const loggingBrowserPlugin = createRuntimePlugin({
|
|
11
|
+
id: '@vibesdotdev/logging/browser',
|
|
12
|
+
name: 'Logging Browser',
|
|
13
|
+
description: 'Browser-optimized logging sinks with localStorage buffering and styled console output.',
|
|
14
|
+
dependencies: ['logging'],
|
|
15
|
+
descriptors: [browserSinkDescriptor],
|
|
16
|
+
onRegister: async (runtime) => {
|
|
17
|
+
// Register loader for browser sink implementation
|
|
18
|
+
runtime.registerLoader('logging/sink', browserSinkDescriptor.id, async () => {
|
|
19
|
+
await getRuntimeBrowserHost(runtime);
|
|
20
|
+
await getRuntimeConsole(runtime);
|
|
21
|
+
return { impl: (await import("./sinks/browser/browser.impl.browser.js")).default };
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export default loggingBrowserPlugin;
|
|
26
|
+
//# sourceMappingURL=logging-browser.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging-browser.plugin.js","sourceRoot":"","sources":["../../src/browser/logging-browser.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEpG,cAAc;AACd,OAAO,qBAAqB,MAAM,+CAA+C,CAAC;AAElF,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;IACvD,EAAE,EAAE,8BAA8B;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACV,wFAAwF;IACzF,YAAY,EAAE,CAAC,SAAS,CAAC;IAEzB,WAAW,EAAE,CAAC,qBAAqB,CAAC;IAEpC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,kDAAkD;QAClD,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/browser/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/browser/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Error Reader
|
|
3
|
+
*
|
|
4
|
+
* Reads the recent errors `captureSvelteKitError` keeps in the ring buffer on
|
|
5
|
+
* the handed runtime's browser host storage (`runtime/browser-host`). The
|
|
6
|
+
* reader never writes: a malformed buffer reads as empty and is left for the
|
|
7
|
+
* next capture to report and replace.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
import { type RuntimeRef } from '@vibesdotdev/kernel';
|
|
11
|
+
import { type ErrorTelemetryEvent } from './capture-error.ts';
|
|
12
|
+
/** How many recent errors to read, and from when. */
|
|
13
|
+
export declare const ReadRecentBrowserErrorsOptionsSchema: z.ZodObject<{
|
|
14
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
15
|
+
since: z.ZodOptional<z.ZodISODateTime>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type ReadRecentBrowserErrorsOptions = z.input<typeof ReadRecentBrowserErrorsOptionsSchema>;
|
|
18
|
+
/** The handed runtime surface the reader needs: its browser host. */
|
|
19
|
+
export type ErrorReadRuntime = Pick<RuntimeRef, 'hasKind' | 'query'>;
|
|
20
|
+
/**
|
|
21
|
+
* The newest recorded browser errors, oldest first. A runtime with no browser
|
|
22
|
+
* host refuses `UNAVAILABLE browser-host-unavailable`; an absent, unreadable
|
|
23
|
+
* or malformed buffer reads as no errors.
|
|
24
|
+
*/
|
|
25
|
+
export declare function readRecentBrowserErrors(runtime: ErrorReadRuntime, options?: ReadRecentBrowserErrorsOptions): Promise<ErrorTelemetryEvent[]>;
|
|
26
|
+
//# sourceMappingURL=read-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-errors.d.ts","sourceRoot":"","sources":["../../src/browser/read-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAwE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpI,qDAAqD;AACrD,eAAO,MAAM,oCAAoC;;;iBAK/C,CAAC;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAElG,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AAErE;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAUrJ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Error Reader
|
|
3
|
+
*
|
|
4
|
+
* Reads the recent errors `captureSvelteKitError` keeps in the ring buffer on
|
|
5
|
+
* the handed runtime's browser host storage (`runtime/browser-host`). The
|
|
6
|
+
* reader never writes: a malformed buffer reads as empty and is left for the
|
|
7
|
+
* next capture to report and replace.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
import { getRuntimeBrowserHost } from '@vibesdotdev/kernel';
|
|
11
|
+
import { attempt } from "../core/outcome.js";
|
|
12
|
+
import { ERROR_RING_BUFFER_KEY, ERROR_RING_BUFFER_SIZE, ErrorRingBufferSchema } from "./capture-error.js";
|
|
13
|
+
/** How many recent errors to read, and from when. */
|
|
14
|
+
export const ReadRecentBrowserErrorsOptionsSchema = z.object({
|
|
15
|
+
/** The newest N events, at most the ring buffer's size. Default 20. */
|
|
16
|
+
limit: z.number().int().positive().max(ERROR_RING_BUFFER_SIZE).default(20),
|
|
17
|
+
/** Only events at or after this ISO timestamp. */
|
|
18
|
+
since: z.iso.datetime().optional()
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* The newest recorded browser errors, oldest first. A runtime with no browser
|
|
22
|
+
* host refuses `UNAVAILABLE browser-host-unavailable`; an absent, unreadable
|
|
23
|
+
* or malformed buffer reads as no errors.
|
|
24
|
+
*/
|
|
25
|
+
export async function readRecentBrowserErrors(runtime, options = {}) {
|
|
26
|
+
const { limit, since } = ReadRecentBrowserErrorsOptionsSchema.parse(options);
|
|
27
|
+
const { storage } = await getRuntimeBrowserHost(runtime);
|
|
28
|
+
const raw = attempt(() => storage.getItem(ERROR_RING_BUFFER_KEY));
|
|
29
|
+
if (raw.failed || raw.value === null)
|
|
30
|
+
return [];
|
|
31
|
+
const stored = ErrorRingBufferSchema.safeParse(raw.value);
|
|
32
|
+
if (!stored.success)
|
|
33
|
+
return [];
|
|
34
|
+
const floor = since === undefined ? undefined : Date.parse(since);
|
|
35
|
+
const events = floor === undefined ? stored.data : stored.data.filter(event => Date.parse(event.timestamp) >= floor);
|
|
36
|
+
return events.slice(-limit);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=read-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-errors.js","sourceRoot":"","sources":["../../src/browser/read-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAmB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAA4B,MAAM,oBAAoB,CAAC;AAEpI,qDAAqD;AACrD,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1E,kDAAkD;IAClD,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAMH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAyB,EAAE,UAA0C,EAAE;IACpH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,oCAAoC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;IACrH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Sink Descriptor
|
|
3
|
+
*
|
|
4
|
+
* Browser-optimized sink with localStorage buffering and styled console output.
|
|
5
|
+
* Provides persistence across page reloads and batched log delivery.
|
|
6
|
+
*/
|
|
7
|
+
import type { SinkDescriptor } from '@vibesdotdev/logging/schemas/sink';
|
|
8
|
+
export declare const browserSinkDescriptor: SinkDescriptor;
|
|
9
|
+
export default browserSinkDescriptor;
|
|
10
|
+
//# sourceMappingURL=browser.browser.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.browser.descriptor.d.ts","sourceRoot":"","sources":["../../../../src/browser/sinks/browser/browser.browser.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,eAAO,MAAM,qBAAqB,EAAE,cAcnC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Sink Descriptor
|
|
3
|
+
*
|
|
4
|
+
* Browser-optimized sink with localStorage buffering and styled console output.
|
|
5
|
+
* Provides persistence across page reloads and batched log delivery.
|
|
6
|
+
*/
|
|
7
|
+
export const browserSinkDescriptor = {
|
|
8
|
+
kind: 'logging/sink',
|
|
9
|
+
id: 'browser',
|
|
10
|
+
name: 'Browser Sink',
|
|
11
|
+
description: 'Browser-optimized logging with localStorage buffering and styled console output',
|
|
12
|
+
tags: ['browser', 'persistent'],
|
|
13
|
+
requiredContext: ['runtime/browser-host', 'runtime/stdio'],
|
|
14
|
+
async: true,
|
|
15
|
+
batching: {
|
|
16
|
+
enabled: true,
|
|
17
|
+
maxSize: 100,
|
|
18
|
+
maxWait: 5000 // 5 seconds
|
|
19
|
+
},
|
|
20
|
+
formats: ['jsonl', 'pretty']
|
|
21
|
+
};
|
|
22
|
+
export default browserSinkDescriptor;
|
|
23
|
+
//# sourceMappingURL=browser.browser.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.browser.descriptor.js","sourceRoot":"","sources":["../../../../src/browser/sinks/browser/browser.browser.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACpD,IAAI,EAAE,cAAc;IACpB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,iFAAiF;IAC9F,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IAC/B,eAAe,EAAE,CAAC,sBAAsB,EAAE,eAAe,CAAC;IAC1D,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,YAAY;KAC1B;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Sink Implementation
|
|
3
|
+
*
|
|
4
|
+
* Browser-optimized sink with:
|
|
5
|
+
* - localStorage buffering for persistence across reloads
|
|
6
|
+
* - Styled console output using CSS
|
|
7
|
+
* - Batched writes for performance
|
|
8
|
+
* - Automatic cleanup on page unload
|
|
9
|
+
*/
|
|
10
|
+
import type { SinkImplementation, SinkContext } from '@vibesdotdev/logging/kinds/sink';
|
|
11
|
+
import type { SinkDescriptor } from '@vibesdotdev/logging/schemas/sink';
|
|
12
|
+
import { type RuntimeLogEntry } from '@vibesdotdev/logging/schemas/entry';
|
|
13
|
+
import * as z from 'zod/v4';
|
|
14
|
+
import { type RuntimeBrowserHost, type RuntimeConsole } from '@vibesdotdev/kernel';
|
|
15
|
+
/**
|
|
16
|
+
* The most recent browser storage failure the sink absorbed. Storage failures
|
|
17
|
+
* never break logging (console output continues, accepted entries stay in
|
|
18
|
+
* memory), so they are recorded here instead of thrown: `read`/`remove`/`write`
|
|
19
|
+
* carry the host's refusal as `cause`; `malformed` carries the parse issues of
|
|
20
|
+
* a stored buffer that is not valid wire entries.
|
|
21
|
+
*/
|
|
22
|
+
export type BrowserStorageFailure = {
|
|
23
|
+
readonly operation: 'read' | 'remove' | 'write';
|
|
24
|
+
readonly key: string;
|
|
25
|
+
readonly cause: unknown;
|
|
26
|
+
} | {
|
|
27
|
+
readonly operation: 'malformed';
|
|
28
|
+
readonly key: string;
|
|
29
|
+
readonly cause: z.ZodError;
|
|
30
|
+
};
|
|
31
|
+
export interface BrowserSinkContext extends SinkContext {
|
|
32
|
+
readonly 'runtime/browser-host': RuntimeBrowserHost;
|
|
33
|
+
readonly 'runtime/stdio': RuntimeConsole;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Browser sink - optimized for browser environments with:
|
|
37
|
+
* - Styled console output with color-coded namespaces
|
|
38
|
+
* - localStorage buffering for persistence
|
|
39
|
+
* - Batched writes and automatic cleanup
|
|
40
|
+
*/
|
|
41
|
+
export default class BrowserSink implements SinkImplementation {
|
|
42
|
+
readonly id: string;
|
|
43
|
+
readonly descriptor: SinkDescriptor;
|
|
44
|
+
private readonly config;
|
|
45
|
+
private buffer;
|
|
46
|
+
/** The one-shot persist pending for the current buffer (lifecycle-owned, RC07). */
|
|
47
|
+
private flushDisposer;
|
|
48
|
+
/** Batched persistence delay; unset when batching is off. */
|
|
49
|
+
private readonly batchWaitMs;
|
|
50
|
+
private readonly runtime;
|
|
51
|
+
private readonly browser;
|
|
52
|
+
private readonly console;
|
|
53
|
+
private unsubscribeUnload;
|
|
54
|
+
private closed;
|
|
55
|
+
private lastStorageFailure;
|
|
56
|
+
constructor(descriptor: SinkDescriptor, context: BrowserSinkContext);
|
|
57
|
+
emit(entry: RuntimeLogEntry): void;
|
|
58
|
+
private schedulePersist;
|
|
59
|
+
flush(): Promise<void>;
|
|
60
|
+
close(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Absorb a storage failure observably: record it for {@link storageFailure}
|
|
63
|
+
* and report it once on the handed console when it is a new kind of failure,
|
|
64
|
+
* so a refused or full storage is never silent and never floods the console.
|
|
65
|
+
*/
|
|
66
|
+
private recordStorageFailure;
|
|
67
|
+
/**
|
|
68
|
+
* The latest absorbed storage failure, or `null` when none was recorded. A
|
|
69
|
+
* later successful write clears a `write` failure. See {@link BrowserStorageFailure}.
|
|
70
|
+
*/
|
|
71
|
+
storageFailure(): BrowserStorageFailure | null;
|
|
72
|
+
/**
|
|
73
|
+
* Valid persisted wire entries. An absent buffer (or disabled storage) is
|
|
74
|
+
* empty; a refused read or a malformed buffer is also empty and is recorded
|
|
75
|
+
* on {@link storageFailure}.
|
|
76
|
+
*/
|
|
77
|
+
getBufferedEntries(): RuntimeLogEntry[];
|
|
78
|
+
clearBuffer(): void;
|
|
79
|
+
private writeToConsole;
|
|
80
|
+
private persistBuffer;
|
|
81
|
+
private restoreBuffer;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=browser.impl.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.impl.browser.d.ts","sourceRoot":"","sources":["../../../../src/browser/sinks/browser/browser.impl.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAyB,KAAK,eAAe,EAAiB,MAAM,oCAAoC,CAAC;AAChH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,OAAO,EAAmD,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkDpI;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAAC;AAEzF,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACtD,QAAQ,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,kBAAkB;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAyB;IACvC,mFAAmF;IACnF,OAAO,CAAC,aAAa,CAAyB;IAC9C,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAsC;gBAEpD,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB;IAoBnE,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAgBlC,OAAO,CAAC,eAAe;IAajB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACH,cAAc,IAAI,qBAAqB,GAAG,IAAI;IAI9C;;;;OAIG;IACH,kBAAkB,IAAI,eAAe,EAAE;IAevC,WAAW,IAAI,IAAI;IASnB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,aAAa;CAUrB"}
|