{"_id":"@12-apps/observability-backend","_rev":"16-5902e3835587d460e904dfd353ba0c7f","name":"@12-apps/observability-backend","dist-tags":{"latest":"1.9.0"},"versions":{"1.0.0":{"name":"@12-apps/observability-backend","version":"1.0.0","license":"MIT","_id":"@12-apps/observability-backend@1.0.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"3e8c525ba078383cbfc22cc9d7ddbc69e1a4d580","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.0.0.tgz","fileCount":9,"integrity":"sha512-TFh3YDXdIOAJ3XJd2ggATFPQpUtsidrM8l1HnACB93gDI1w85TBIcwSivR6UoRfxQR5JRtlLvjd/7WYOVkhPiw==","signatures":[{"sig":"MEUCIQDw64sNoUUPW2gvmDOFiHquzPCC+mtwa5Y1fftzOm/RLwIgIQsZDKTogrYptmpOYAvb6t24ikQhglF0newsxMdkTb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ec6d74e8ae3156dc9294ef46e3fd05dcdf8b6af4","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"tigredonorte","email":"tigredonorte3@gmail.com"},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.12.1","@12-apps/typescript-config":"^1.12.1","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.0.0_1786117770167_0.8154395943959125","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@12-apps/observability-backend","version":"1.0.1","license":"MIT","_id":"@12-apps/observability-backend@1.0.1","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"a0a54067179993208c7ae595f8d19033e0b0d75a","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.0.1.tgz","fileCount":9,"integrity":"sha512-SFeripj5+DmLOyu0703ikxW8GCOraTOSAIEnPfqIyHjJvYsOpSkUACh9iHyCDqjGTuXPcSPGiE3hAfwAVVa6Jg==","signatures":[{"sig":"MEUCIFaBjoJbDLpEwnLzmsp84Ej6qwP54UhTlpZ3vjzj+QSqAiEA3eXFYe/f80AU99ywc6Cz4h7L6hmrPOHV8hnDmkDR3dY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e9fa4d72f92e37490fec1f39348375e9e34bf2ee","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.12.2","@12-apps/typescript-config":"^1.12.2","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.0.1_1786127683097_0.7459729070507293","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@12-apps/observability-backend","version":"1.1.0","license":"MIT","_id":"@12-apps/observability-backend@1.1.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"f09af3d1700759dbc894b9014410af1356323398","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.1.0.tgz","fileCount":9,"integrity":"sha512-Ev93XCxm9Cq9ITFztlNpf0tSNtM/4jT+7lRTHuk6zoeDVR+lLWOrqQQ7AB4pRmi0gqUfm7uB2V0vkKCLoh5C0g==","signatures":[{"sig":"MEUCIECnAHxRuyeHYYtCU7mkBHYo5Kmu2wEOIHLiOV15ie9zAiEAyyXyGqbktWUgahb6Os6vakjGSxwUpf4wBbFRnFrnk6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"903862a6809118567baa5931596f484c3ff8ff37","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.13.0","@12-apps/typescript-config":"^1.13.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.1.0_1786128486271_0.2611215282257209","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@12-apps/observability-backend","version":"1.2.0","license":"MIT","_id":"@12-apps/observability-backend@1.2.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"1f0ab8523313b88c93444c73fb7b5649f5760b31","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.2.0.tgz","fileCount":9,"integrity":"sha512-mZmpunNcEnlXCnIcHcYKzEu04LqfUBXiCNbZh5VtolKedfdB+uMgiU+vVLeQGCbVFhg5hVfAJbIWOJ8qwCK9tQ==","signatures":[{"sig":"MEUCIQDNbzYDt31M9QgYVZEDdNiW1PkwIOs8XQazE/ckubjuMgIgIGwGT///7YNnkn8Lp0sS+A1K6P3Bs/De5SPgFX0i0r4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e04431a199d9e9beacb90ed14ef9dd7d779b426a","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.14.0","@12-apps/typescript-config":"^1.14.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.2.0_1786132127384_0.882924281029146","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@12-apps/observability-backend","version":"1.3.0","license":"MIT","_id":"@12-apps/observability-backend@1.3.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"cd467c201aeb3fb80ef381fa82d11b35a376ca60","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.3.0.tgz","fileCount":9,"integrity":"sha512-H03HUqFP9riY1kPFJwRu++xlhiBKQ50Y9SKETJSnqiPacsV931xm+dvYpYH1URkct5ZhboKUk++AxUKXxe7Hrg==","signatures":[{"sig":"MEUCICMSfmBaUaUcExfBmk14Om20oNweARBD8ANpWHy1pZYaAiEA98EdrBm+GR7oy7HV8zFvY2i6Bqln+FU4f/iIcPJiq7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f9c9457f43bc8c265f81d27b8d3bb5f250fce11e","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.15.0","@12-apps/typescript-config":"^1.15.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.3.0_1786132958802_0.3224554030577296","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@12-apps/observability-backend","version":"1.4.0","license":"MIT","_id":"@12-apps/observability-backend@1.4.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"98cebcc3bc874eaaa38518c2227f9a42e39ae855","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.4.0.tgz","fileCount":9,"integrity":"sha512-upflYSImf7psoYFBijgdypFpF5aVJlG+PENms9FARf5rDKFgom9kaUB3f9ZZoT/tHF7aBMcj+LUyN5WAX2DP0A==","signatures":[{"sig":"MEYCIQDr8ADlG12u/nuaZQdna/ucemZOQahaV68pXMPvT7y7zAIhAJE8qbGDtUqnBXSSkpf7VvQSDoG1lTJwX3PPQwE8zps9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ebccb7d5693b1f1340342b72139daef11fc81223","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.16.0","@12-apps/typescript-config":"^1.16.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.4.0_1786133648800_0.8987529727175909","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@12-apps/observability-backend","version":"1.4.1","license":"MIT","_id":"@12-apps/observability-backend@1.4.1","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"9eedeea29591ce62674862b6583caaeaeaca84e8","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.4.1.tgz","fileCount":9,"integrity":"sha512-S+tpBeRNWKPKd5taess6YvKl5hOape7qpHY6/nw2FyVO83eyAzrFdlA1kw3id2v/x3A6SjJjgQGhuhZQvBOh2w==","signatures":[{"sig":"MEQCIDymsmILCdjPqZHvkJPNqOLGWi1LVtOewMKk5FwBHEpwAiBghYuMPBAMn3rWEM202Ui+o3faWEcE+rd2tb0MVau33w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1450b795821141763ba9a124e7b967278679d407","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.16.1","@12-apps/typescript-config":"^1.16.1","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.4.1_1786135853457_0.489077488121219","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@12-apps/observability-backend","version":"1.5.0","license":"MIT","_id":"@12-apps/observability-backend@1.5.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"024b574b6c909aecc2f136f1a7785297de001a16","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.5.0.tgz","fileCount":9,"integrity":"sha512-lTb71bjMdD99lytsaPxAdh3RWOfxRP5T5e4atIPT1IfqY1rTJ5Qoh+2IPvFQMacthMHvkeJ32AZanpG8MsiILg==","signatures":[{"sig":"MEQCIHzSntbKzU/4qr+ReMUlTPqr8uCNC8Bf0eXRS4d6Ct6dAiAKOha8W2fl3jd7WLtchh3rbrOJCZKt8yItTTUDN+r1VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2d4a0e9dbf04f79e2306b779f56f0dd5d079e09a","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.17.0","@12-apps/typescript-config":"^1.17.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.5.0_1786145507665_0.0715193844461317","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@12-apps/observability-backend","version":"1.5.1","license":"MIT","_id":"@12-apps/observability-backend@1.5.1","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"174a8292e63d91db49c596f9cc5a4ed070c6fd96","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.5.1.tgz","fileCount":9,"integrity":"sha512-v1y3LMCCcvxhbKVhXbXICxjCWt9z8+GjVA+soE/nxcKW4Z7k/lRGYqRatm5kpyOwTI1Du2Fhc95LNXukkiJAzQ==","signatures":[{"sig":"MEUCIGDvR51O9D7DOmU9fJvL4KKt4YhTnWtdUhu95plmkJ8bAiEAvWEvXEE8vaCnQf8ApPkiN16qxG2InNViucyDZUSRXZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f0356169f9682182eabba77485cf4772051235ae","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.17.1","@12-apps/typescript-config":"^1.17.1","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.5.1_1786146655565_0.047217097772361605","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@12-apps/observability-backend","version":"1.5.2","license":"MIT","_id":"@12-apps/observability-backend@1.5.2","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"58f228b7da3ff079643b31d7458bff8e4910280f","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.5.2.tgz","fileCount":9,"integrity":"sha512-KKZ6/WIbDnF5c0A9cElfFaZIruyYYR132WtpafkYiYksJ0QYReU+U0NwIS7KDOmmH/i/Mr3uUKWkMAu7oP8nZQ==","signatures":[{"sig":"MEUCIQDm177CRvRjMQFUzWgyZ/9xmFvV8W8tYEeaWgI6MwVoxAIgcGGT9+RGh/yAU5tAJ9maAln9YHvVoe4bYh05ZRrCC6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4b2466cbe6cded4941ec25ef92cf41d7fab0697e","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.17.2","@12-apps/typescript-config":"^1.17.2","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.5.2_1786159899523_0.7536370949129605","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@12-apps/observability-backend","version":"1.5.3","license":"MIT","_id":"@12-apps/observability-backend@1.5.3","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"cea4a88149f3eb185c62bd913b0eb041ea1ddbbe","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.5.3.tgz","fileCount":9,"integrity":"sha512-sX9IJgz/zWsXfnMeYhSYUPZag+qwh5BzIbhxOswwg0jBZu+9mxZdfg5A7ikn2TQqxykxw4/0Ugq+KG+XlXo15A==","signatures":[{"sig":"MEUCIF7qJD3cbcSznht6jlDZpWT1lA8TOlpjzDqKfZ57eybUAiEAuWZO6g4DwOExVsO4232vC4zMXe2orI6xFSvyH1rarY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ee3399530780d82beea32410802a945627ffe271","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.17.3","@12-apps/typescript-config":"^1.17.3","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.5.3_1786197876299_0.24874175066808446","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@12-apps/observability-backend","version":"1.6.0","license":"MIT","_id":"@12-apps/observability-backend@1.6.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"85210ecdf3203fa4d0c9c94730a6a455e8859010","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.6.0.tgz","fileCount":9,"integrity":"sha512-sXjLuwlM3YC+Qgk0//4cjIZGewrX3XoIaTnzTPzg3eSoN6lPZ9Yy0Xz4h2/nbEu0966qVJe68zMWaYafaoCuFA==","signatures":[{"sig":"MEQCIGPyahIA/df/WV2kyO8Dt56EZzRVd0rqz8MYJhGTqDU0AiAo7WPQM4YUf8F9RYOLiKBdsFNjsCdVqNenqkGBeGYCGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8af3c18e1811d042f30016a4ba43e74abc4b8c50","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.18.0","@12-apps/typescript-config":"^1.18.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.6.0_1786203852753_0.504827152969183","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@12-apps/observability-backend","version":"1.7.0","license":"MIT","_id":"@12-apps/observability-backend@1.7.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"978707f57b164bc63fbb17946b1e2c0afafe09a9","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.7.0.tgz","fileCount":9,"integrity":"sha512-mAe+Dqxhd7/33PIi+KVtJHZO0H8bHUH6DkNOzgfwknky2BmIYLvl5BeUf2vuMHXLCSvSSmU5sVa+nhNLbuXkMA==","signatures":[{"sig":"MEUCIAIkN5H0ltVlCkKXYKnXfBIzorUqRRnYC0sic5vpNhU1AiEAjiESgkQlGTkrRdzLxd3177Cdt1Ss9w3lvk/+lh9czRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3a8eb1783f8cccce3b7ec49cb10e3e6d2c5d7310","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.19.0","@12-apps/typescript-config":"^1.19.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.7.0_1786206051638_0.5278154297739825","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@12-apps/observability-backend","version":"1.8.0","license":"MIT","_id":"@12-apps/observability-backend@1.8.0","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"b8b326d5eed30d8d51bdafd96619983776470704","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.8.0.tgz","fileCount":9,"integrity":"sha512-TQ/kiVAlOP/HNEQQMUbKunM+O1Z00acsRaypNBBb4+AJu7cmMXbcKL9AxWdA/3cR17Vm59HUdhIpDymCTyQAUg==","signatures":[{"sig":"MEUCIQC5zA+cP10Q/SJfjhYz/kIjNdzj2QVRDLebsCnsQkVMyQIgBoz+6eW2ssTaMlH0ieSS/GEB12FicXUEG2JPHYTgzZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"21bbb5b06424cf045eaad617a5912aa00d0c654b","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.20.0","@12-apps/typescript-config":"^1.20.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.8.0_1786209400808_0.5208941337928352","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@12-apps/observability-backend","version":"1.8.1","license":"MIT","_id":"@12-apps/observability-backend@1.8.1","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"homepage":"https://github.com/12-apps/shared-packages#readme","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"33910469a66a6a77827cc34b013ab953895f8f3c","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.8.1.tgz","fileCount":9,"integrity":"sha512-Pf765/mB+FOXlImy8clucDC63qrcZtfmo8PgQ8Y11U6WONGE4X9mJYaRB7H/GXralKmGNoiYj4sPy3pIIeKb1A==","signatures":[{"sig":"MEYCIQCWaY1/5cyopoQtJhuOI/4KvZNSPWvY3We+FHGnDjpz4AIhAKt+EXpEl658BJaxpbsK/hZcav/wLHuijxzK5mbEK0Pq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQo6T9oGsaae4q6vuicV+gsNKRDsDH/PH0Jw3gvtNJHgIhALMUXVZSC9xKmhROTCUKFlr6urb6plR8HR4Tpj0excxv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42032},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3c4711049bf8351685612372531c3cae1370bbbb","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1494f75-3076-4ca9-924f-0ed80ac93c22"}},"repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.21.1","@12-apps/typescript-config":"^1.20.1","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/observability-backend_1.8.1_1787327326710_0.9543303822867706","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"_id":"@12-apps/observability-backend@1.9.0","bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"dist":{"shasum":"6fa77a874a3a129af3adc5d87b110e2f0b14cb5f","tarball":"https://registry.npmjs.org/@12-apps/observability-backend/-/observability-backend-1.9.0.tgz","fileCount":9,"integrity":"sha512-8zGOWU35B/uhwnjIuM8IaU5IoI/wLW7QGg5mqntcrJv+uN+9DkjfEDQ2NbZ/WjjOj9lubigfhKnH5oTG06hjFA==","signatures":[{"sig":"MEQCIFJYHibausSeyXIpZjaIhP+3LNy4E6JYUHZ6kJxCllNuAiBkLPCcyCuqF/WHYyHxI4IuKP3btr1JMwvou7AGfnSYzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFPmY0G265P0URwP2a+ZI5RiLuhHBgxpOyqIosNTXv9lAiAlkxkNJ7g333Chz6145sQonxqx6L+d5S6ySegd/AZQXg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@12-apps%2fobservability-backend@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42056},"main":"./dist/index.cjs","name":"@12-apps/observability-backend","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4714bd10c901bcc51544843d5d6091cc1509e649","license":"MIT","scripts":{"lint":"eslint src --max-warnings 0","test":"node ../../scripts/vitest-with-teardown.mjs run","build":"tsup","clean":"rm -rf node_modules coverage dist","typecheck":"tsc --noEmit","test:watch":"vitest watch","check-types":"tsc --noEmit"},"version":"1.9.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba5fc334-4861-4a35-aa0d-b8251cd58184"}},"homepage":"https://github.com/12-apps/shared-packages#readme","repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"_npmVersion":"12.0.2","description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","directories":{},"maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@sentry/node":"^10.69.0","winston-transport":"^4.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.39.1","vitest":"^3.2.4","typescript":"^5.9.2","@12-apps/eslint-config":"^1.22.0","@12-apps/typescript-config":"^1.21.0","eslint-plugin-test-flakiness":"^1.4.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/observability-backend_1.9.0_1787617907654_0.5332922521603067"}}},"time":{"created":"2026-08-07T15:49:30.001Z","modified":"2026-08-25T00:31:48.147Z","1.0.0":"2026-08-07T15:49:30.316Z","1.0.1":"2026-08-07T18:34:43.250Z","1.1.0":"2026-08-07T18:48:06.415Z","1.2.0":"2026-08-07T19:48:47.505Z","1.3.0":"2026-08-07T20:02:38.993Z","1.4.0":"2026-08-07T20:14:08.941Z","1.4.1":"2026-08-07T20:50:53.601Z","1.5.0":"2026-08-07T23:31:47.822Z","1.5.1":"2026-08-07T23:50:55.694Z","1.5.2":"2026-08-08T03:31:39.695Z","1.5.3":"2026-08-08T14:04:36.453Z","1.6.0":"2026-08-08T15:44:12.960Z","1.7.0":"2026-08-08T16:20:51.823Z","1.8.0":"2026-08-08T17:16:40.960Z","1.8.1":"2026-08-21T15:48:46.823Z","1.9.0":"2026-08-25T00:31:47.771Z"},"bugs":{"url":"https://github.com/12-apps/shared-packages/issues"},"license":"MIT","homepage":"https://github.com/12-apps/shared-packages#readme","repository":{"url":"git+https://github.com/12-apps/shared-packages.git","type":"git","directory":"packages/observability-backend"},"description":"Server-side error reporting on Sentry, attached to the logger rather than to call sites: a Winston transport that forwards error/warn, a PII scrub that redacts by key at any depth, and a flush for a deliberate exit. Off unless SENTRY_DSN is set, so dev, C","maintainers":[{"name":"tigredonorte","email":"tigredonorte3@gmail.com"}],"readme":"# `@12-apps/observability-backend`\n\nServer-side error reporting on Sentry, for the one environment nobody can attach\na debugger to.\n\nIt has a browser counterpart, `@12-apps/observability-frontend`. They are two\npackages rather than one because they share no code at all, only environment\nvariables — this side is `@sentry/node` plus `winston-transport`, the other is\n`@sentry/react` plus React, and a single package would put a Winston transport\nin every SPA's dependency tree and React in every server's. They are independent\n(either runs without the other) but deliberately share `SENTRY_ENVIRONMENT` and\n`SENTRY_RELEASE`, so a browser event and the 500 behind it land in the same\nenvironment under the same build.\n\n## Why it exists\n\nA production failure used to leave exactly one trace: a line on stdout inside a\ncontainer, which dies with it and is reachable only over SSH. So the only way to\nlearn *why* something broke was to reason about the source and guess — and a run\nof four consecutive wrong diagnoses is what that costs. The line that would have\nended it on the first try existed the whole time; nobody could read it.\n\n## Usage\n\n```ts\nimport { sentryTransport, flushReporter, scrub } from \"@12-apps/observability-backend\";\n\nconst reporter = sentryTransport();\nconst logger = winston.createLogger({\n  transports: [consoleTransport, ...(reporter ? [reporter] : [])],\n});\n```\n\n**It hangs off the LOGGER, not off each call site.** A shared logger is already\nthe funnel — every feature's `log.error` goes through one Winston instance, so\nattaching here means a new module is covered the moment it logs, with nothing to\nremember. The alternative, a `captureException` beside every `throw`, is a rule\nthat decays the first time someone forgets it.\n\nNote the trap that implies: **`console.error` does not reach the reporter.**\nWinston is the funnel; anything written past it reaches a container's stdout and\nnowhere else.\n\n| export | what it does |\n|---|---|\n| `sentryTransport()` | the `winston-transport` to install, or `null` when reporting is off |\n| `sentryEnabled()` | whether a DSN is configured for this process |\n| `flushReporter(timeoutMs?)` | wait for queued events; call before a deliberate exit |\n| `scrub(value)` | redact PII by key at any depth, for a context object folded into a message |\n\n`flushReporter()` matters more than it looks. The SDK batches and sends\nasynchronously, so `log.error(…)` followed by `process.exit(1)` tears the process\ndown with the event still in memory — losing precisely the report worth having\nmost, since a process that died on boot leaves nothing else behind.\n\n## It is OFF unless a DSN is set\n\nNo `SENTRY_DSN`, no transport, no network. Dev, CI and every test run stay silent\nand offline. Enabling is a deployment decision, never a code one — which is also\nwhat keeps a test suite's deliberate failures from filling an issue tracker.\n\n| variable | notes |\n|---|---|\n| `SENTRY_DSN` | the only required one. Write-only ingest. |\n| `SENTRY_ENVIRONMENT` | falls back to `NODE_ENV`, then `production` |\n| `SENTRY_RELEASE` | which build an error came from |\n| `SENTRY_TRACES_SAMPLE_RATE` | defaults to `0` — tracing is billed per span and answers \"how slow\", while this answers \"what threw\" |\n\n## PII\n\n`scrub()` redacts by KEY at any depth rather than pattern-matching values: a\nBrazilian CPF is eleven digits, and so are plenty of ids worth keeping. Ids and\namounts survive on purpose — a scrub that eats them leaves every event\nundiagnosable.\n\nIt is not defensive decoration. The leak it was written for is a provider error\nthat retains the upstream response body, which on a rejected payment carries the\npayer's name, e-mail and tax id. `sendDefaultPii` is held off regardless of DSN\non top of that, so request bodies, cookies and IPs never ride along.\n\nThe transport also sends the **message** as a string rather than the raw meta\nobject: Winston's formatter runs `util.inspect(…, { depth: 5 })` over extra\narguments, which is precisely how a provider payload would otherwise reach a\nthird party.\n\n## Why it ships compiled\n\nUnlike most packages in this repo, this one publishes `dist` (dual CJS+ESM with\n`.d.ts`) rather than TypeScript source. Two reasons, both load-bearing:\n\n1. **Node refuses to strip types below `node_modules`**\n   (`ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING`). A server importing this\n   package from the registry gets a hard failure on raw `.ts`. It does *not*\n   fail inside a workspace, where pnpm links the package and Node resolves a\n   realpath outside `node_modules` — so the bug would first appear in a\n   consumer, after publishing.\n2. **CommonJS consumers exist.** `@12-apps/shared-helpers` is CJS with classic\n   `moduleResolution`, which ignores the `exports` map entirely and reads\n   `main`/`types`.\n\n## Tests\n\n```bash\npnpm --filter @12-apps/observability-backend test\n```\n\nNothing reaches the network: the suite asserts the two safety properties —\nreporting can be switched off, and what it forwards is scrubbed.\n","readmeFilename":"README.md"}