{"_id":"@capitalone/stratum-observability","_rev":"11-ed00475f9cba6d4d222f16fe11cb8539","name":"@capitalone/stratum-observability","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@capitalone/stratum-observability","version":"1.0.0","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.0.0","maintainers":[{"name":"cof_official","email":"Stephen.Husak@capitalone.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"34cd1a01aa11ca97e6c3d49c55157c3921fba3fc","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.0.0.tgz","fileCount":63,"integrity":"sha512-2DhMEGy8ZjDR6tD7N52D4+3nWdU1j5zhj8EnOeHAVE7LWl2r9103ax9miW4EbArnHqhA7uvdq/sKef375S29Wg==","signatures":[{"sig":"MEUCIAYSr15BzXGyGA6O80aMOn4Rlc6ZSVeSUzADORGFEaHUAiEAzmHQ+P4GrooFSBpTKFViEANuZOoNBswhyjSVeWr81TE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":224417},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"}},"gitHead":"b90fc2bc8131e6da3faef484ffab5e68bfff8365","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","ci:install":"npm ci && npm run website:install","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"cof_official","email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"10.8.1","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"20.16.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.0.0_1729535649504_0.05737623058139363","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@capitalone/stratum-observability","version":"1.1.0","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.1.0","maintainers":[{"name":"cof_official","email":"Stephen.Husak@capitalone.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"f40ddcad10353dbbecb68b642b3a7eaae87deea6","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.1.0.tgz","fileCount":63,"integrity":"sha512-3A3mFTOnqgTibyVGVf12jlr5woIkgSVlrqt8+3KUcuQhgtV/Vy+nKlsWWhGX+hAMy9CNAgbbqT+/ekEFWM9bmw==","signatures":[{"sig":"MEUCIQDblLvEBmuaZ8tq0tNK5QyOuzYBOa6Z7OqWtIXS0KN0nAIgUd0zUn2P4wPCbJ/DUXpQ2LuaRJtFt/poftBNC2ml/Rs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209076},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"}},"gitHead":"d162cd68da5b4392242786a6822cd184c4cb91e3","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","ci:install":"npm ci && npm run website:install","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"cof_official","email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"10.8.1","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"20.16.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.1.0_1730310013227_0.4708595960045754","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@capitalone/stratum-observability","version":"1.2.0","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.2.0","maintainers":[{"name":"cof_official","email":"Stephen.Husak@capitalone.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"415f28ff7c9c5c542b0b07e2e48c339a2eb7bc07","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.2.0.tgz","fileCount":72,"integrity":"sha512-R68sujtOEGvuaoPGHbtk/ct5GksH/doqqpGEXpxG03/54HbUIACHPf0/Y7symoXPgduxlk8jv/Ha2e2T0rkeSw==","signatures":[{"sig":"MEQCIG7ppXmMoyFg8UXhkKuoeVHo/DeL3mLROOZe9DKryF75AiAJe5AN+Q66bQVW0Blyjpdohk5ZAq0CHFqB8dOPyiVYQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220278},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"8372acd66c9187a003c7f79e27cf48c7601efb91","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"cof_official","email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"10.8.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"20.18.3","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.2.0_1740668908351_0.9765338707448079","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@capitalone/stratum-observability","version":"1.2.1","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.2.1","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"d43178eab31fc310ac98525c79fce6e2039855d9","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.2.1.tgz","fileCount":72,"integrity":"sha512-Q5O/tXny68OBiV4IEPSOg0ksHVFnH5f3IeLpI9y30WmCfemjRz2pqtYVhXOW6PW8BfzyLFCXcyE926KtycXMSg==","signatures":[{"sig":"MEUCIQCvhVkW18L4iz5Ehu/MXaGaOXZrIIBwG5Yv2OjYsgOGPAIgEIIo5gyzZB0mq6ZW3a90yNZAYO9MeQMf9cLLaOQgTZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220378},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"57ad87b1c5c098ecb32d4765c89975c96afc74cf","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"10.9.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.2.1_1745347351043_0.47321773337890227","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@capitalone/stratum-observability","version":"1.2.2","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.2.2","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"f6d4d46c4327badacc8b449250f818fd4c620eaa","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.2.2.tgz","fileCount":72,"integrity":"sha512-XAuB2SerJB76vKUP3UMb5Qz2Tjx3sMwGP3+IbBh3K8rrNe3tmOLbpgiBl3c5nnHxGKsRsZIiLUltLIoOu37MKw==","signatures":[{"sig":"MEYCIQCmhVNNsBla51seLDtPCVPg+mh0XEhmJEW6c2xQDiFIcQIhAPStrAR1G+XoprSTS/KEtitKBpzxfe0CM+BiAXXwBbpt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220378},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"eae9be21355d0a0186576dedece6addeb84596d6","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"shusak_cof","actor":{"name":"shusak_cof","type":"user","email":"Stephen.Husak@capitalone.com"},"email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"10.9.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.2.2_1752060387117_0.7345129473153966","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@capitalone/stratum-observability","version":"1.3.0","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.3.0","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"a83d78525dae0937af607ef8108bbc0ae82498e2","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.3.0.tgz","fileCount":72,"integrity":"sha512-xSnbpJXyvZBjtKtHRkHyvAKR40hOycPcYRop2hobLscbzMCeRpHV12qB9xew3e4Hp4LN+G/Si8auzuKZb2cG9Q==","signatures":[{"sig":"MEUCIQDqfqrcK7RFbfu6S+ssLKvGpwxGr5DTqIY5oRMXe8n/1gIgEVyjtYgYxnPMnOdN8tYftFJTUYJlDiMpslwoJi1hr2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220415},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"c99dd4f364a43e9289594230b9b132d422f40385","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"10.9.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.3.0_1754427855413_0.9918487050798175","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@capitalone/stratum-observability","version":"1.3.1","license":"Apache-2.0","_id":"@capitalone/stratum-observability@1.3.1","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"d569cd0514130668c4b8e26589fe8c9599c75d8b","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-1.3.1.tgz","fileCount":72,"integrity":"sha512-ICzvu+X8rLH/nwwQCuB0MkBPbAybFunI8ObqJKiHbYutvowckvsPplIP1+sLqjsXi2fy1HExW+4i6q0eszb3ag==","signatures":[{"sig":"MEUCIQCxoiLns+DtfeURK+GyS8+Oc86xRt6obkAX1fTw02t/aQIgM5Qs8xI+hR0bN4ddZbaLTxxMckVEOuFO8HcG8qT5cG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220419},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"ef68af967561e57d1756048c9ca607a49ac56820","scripts":{"lint":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}' --fix","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","prettier":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --write","build:lib":"rollup -c --bundleConfigAsCjs","lint:check":"eslint --config ./.eslintrc.js --max-warnings 0 'src/**/*.{js,ts}'","pre-commit":"lint-staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","build:analyze":"node scripts/analyze.js","test:coverage":"jest","prettier:check":"prettier '**/*.{js,ts,json}' --ignore-path ./.prettierignore --check"},"_npmUser":{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"11.6.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","eslint":"^8.57.0","rollup":"^4.18.1","semver":"^7.6.2","shelljs":"^0.8.5","ts-jest":"^29.2.2","prettier":"^3.3.3","typescript":"^5.5.3","@types/jest":"^29.5.12","lint-staged":"^15.2.7","@rollup/plugin-terser":"^1.0.0","@rollup/plugin-replace":"^5.0.7","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^30.3.0","@typescript-eslint/parser":"^7.16.1","rollup-plugin-typescript2":"^0.37.0","@typescript-eslint/eslint-plugin":"^7.16.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_1.3.1_1774997510395_0.9231093785341993","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@capitalone/stratum-observability","version":"2.0.0","license":"Apache-2.0","_id":"@capitalone/stratum-observability@2.0.0","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"9a0ede9ddc2884f33f6645d8c6d7f72bf36c2617","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-2.0.0.tgz","fileCount":3,"integrity":"sha512-PuIWtjUw/Urd3ubUZ1X4b6seLbcHjt4hXk4fH4KmJKrJZhHBNL0opna++hAbHAOXTOT7H9vLtlnR8y0M+TIMYw==","signatures":[{"sig":"MEYCIQC6nvnI8AvCG9SitXeTN37c2AjjzyLhYRntM0wGDuHFVgIhAJI1KC5Bt+8gm7D6MU6ZYuGEHBsJ/ErOjJl2VNepYsaD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23897},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"650c547d1428e55b1636f432a577521c04bd2c30","scripts":{"lint":"biome check --fix --no-errors-on-unmatched --error-on-warnings","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","build:lib":"rollup -c","lint:check":"biome check --no-errors-on-unmatched --error-on-warnings","pre-commit":"npm run lint:check -- --staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","ci:pipeline":"npm ci --ignore-scripts","build:analyze":"node scripts/analyze.mjs","test:coverage":"jest"},"_npmUser":{"name":"wrslatz","email":"slattumwr@gmail.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"11.6.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","rimraf":"^6.1.3","rollup":"^4.18.1","ts-jest":"^29.2.2","typescript":"^5.5.3","@types/jest":"^29.5.12","@biomejs/biome":"2.4.15","@rollup/plugin-terser":"^1.0.0","@rollup/plugin-replace":"^5.0.7","jest-environment-jsdom":"^30.3.0","rollup-plugin-typescript2":"^0.37.0"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_2.0.0_1778605975259_0.3744613998513848","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package was corrupted during publishing and is broken, update to a newer version"},"2.0.1":{"name":"@capitalone/stratum-observability","version":"2.0.1","license":"Apache-2.0","_id":"@capitalone/stratum-observability@2.0.1","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"}],"homepage":"https://github.com/capitalone/Stratum-Observability#readme","bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"dist":{"shasum":"d248614df0208881f055b61a5f84de7cfbd96dd2","tarball":"https://registry.npmjs.org/@capitalone/stratum-observability/-/stratum-observability-2.0.1.tgz","fileCount":73,"integrity":"sha512-p2t0pLA4vaZDsojjOattc/rQH/4jEsa4sNDR4HY2o1X5ho3J9OP/A4d50puK/yyT9KRioBShLw5WhGlr+yIp9g==","signatures":[{"sig":"MEUCIH2dEY5VAftqiRMJVjY7HdNqG3uuwvOIUYRtAVf+7p+UAiEArgyXS50sd36TlxXDGQK9B+TphnYvAAq7VFXxySE0NbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227406},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"},"./plugins/new-relic":{"types":"./dist/types/plugins/new-relic/index.d.ts","import":"./dist/esm/plugins/new-relic/index.js","default":"./dist/cjs/plugins/new-relic/index.js"},"./plugins/new-relic-plus":{"types":"./dist/types/plugins/new-relic-plus/index.d.ts","import":"./dist/esm/plugins/new-relic-plus/index.js","default":"./dist/cjs/plugins/new-relic-plus/index.js"},"./plugins/browser-console":{"types":"./dist/types/plugins/browser-console/index.d.ts","import":"./dist/esm/plugins/browser-console/index.js","default":"./dist/cjs/plugins/browser-console/index.js"}},"gitHead":"d4957ac4122fd61a5d13cd6c3f69c7b7d0c61cac","scripts":{"lint":"biome check --fix --no-errors-on-unmatched --error-on-warnings","test":"jest --coverage=false","build":"npm run build:clean && npm run build:lib","prepare":"husky","build:lib":"rollup -c","lint:check":"biome check --no-errors-on-unmatched --error-on-warnings","pre-commit":"npm run lint:check -- --staged","build:clean":"rimraf dist","build:watch":"npm run build:clean && npm run build:lib -- --watch","ci:pipeline":"npm ci --ignore-scripts","build:analyze":"node scripts/analyze.mjs","test:coverage":"jest","prepublishOnly":"npm run build"},"_npmUser":{"name":"wrslatz","email":"slattumwr@gmail.com"},"repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"_npmVersion":"11.6.2","description":"Library for defining and publishing observability events through plugin-based architecture","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","typesVersions":{"*":{".":["./dist/types/index.d.ts"],"plugins/new-relic":["./dist/types/plugins/new-relic/index.d.ts"],"plugins/new-relic-plus":["./dist/types/plugins/new-relic-plus/index.d.ts"],"plugins/browser-console":["./dist/types/plugins/browser-console/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","rimraf":"^6.1.3","rollup":"^4.18.1","ts-jest":"^29.2.2","typescript":"^5.5.3","@types/jest":"^29.5.12","@biomejs/biome":"2.4.15","@rollup/plugin-terser":"^1.0.0","@rollup/plugin-replace":"^5.0.7","jest-environment-jsdom":"^30.3.0","rollup-plugin-typescript2":"^0.37.0"},"_npmOperationalInternal":{"tmp":"tmp/stratum-observability_2.0.1_1778613010853_0.6242761386033087","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-10-21T18:34:09.403Z","modified":"2026-05-12T19:13:13.836Z","1.0.0":"2024-10-21T18:34:09.776Z","1.1.0":"2024-10-30T17:40:13.457Z","1.2.0":"2025-02-27T15:08:28.569Z","1.2.1":"2025-04-22T18:42:31.246Z","1.2.2":"2025-07-09T11:26:27.373Z","1.3.0":"2025-08-05T21:04:15.632Z","1.3.1":"2026-03-31T22:51:50.609Z","2.0.0":"2026-05-12T17:12:55.395Z","2.0.1":"2026-05-12T19:10:11.031Z"},"bugs":{"url":"https://github.com/capitalone/Stratum-Observability/issues"},"license":"Apache-2.0","homepage":"https://github.com/capitalone/Stratum-Observability#readme","repository":{"url":"git+https://github.com/capitalone/Stratum-Observability.git","type":"git"},"description":"Library for defining and publishing observability events through plugin-based architecture","maintainers":[{"name":"shusak_cof","email":"Stephen.Husak@capitalone.com"},{"name":"wrslatz","email":"slattumwr@gmail.com"},{"name":"wrslatz_cof","email":"william.slattum@capitalone.com"}],"readme":"# Stratum Observability | standardization as you publish\n\nA no-dependency library defining a framework for sending analytics and observability events in a standardized format.\nStratum is a plugin-based framework that allows you to create your own custom plugins to define, validate, and publish events\nto your observability stack. We also offer community-driven plugins for popular integrations.\n\n**Common problems that Stratum helps solve:**\n1. Standardized data for clean queries, clear ownership, and strongest possible signals for alerting/reporting\n1. Being the first to know when your app is down, up, or sideways (let alone determining what any of those mean to you)\n1. Clear cataloging of what your product is capable of and who's using what\n\n## Getting started\n\nA typical Stratum implementation consists of:\n1. Stratum Catalog - single source of truth for the voice of your application\n1. Shared StratumService instance to load plugins and publish events from\n1. Functional code aka your application code! Any files containing logic you'd like to observe\n\n```ts\n  import { StratumService } from '@capitalone/stratum-observability';\n  import { NewRelicPluginFactory } from '@capitalone/stratum-observability/plugins/new-relic';\n\n  /**\n   * Using enumerated keys afford the best chance of consistent references throughout your application. \n   * This replaces the need to hard code string values as reference.\n   */\n  export const EventKey = {\n    LOADED: 'app-loaded'\n  };\n\n  /**\n   * Initialize Stratum with required arguments, again \n   * typically within a shared file for re-use.\n   * \n   * The StratumService is the engine for publishing.\n   */\n  export const stratumService = new StratumService({\n    /**\n     * 1+ plugins defining your standardized event schemas and how to\n     * map these schemas when published to your data collectors\n     * \n     * The NewRelicPlugin is available from the @capitalone/stratum-observability library\n     */\n    plugins: [NewRelicPluginFactory()],\n\n    /**\n     * The canonical name for referring to this capability\n     */\n    productName: 'stratumExampleApp',\n\n    /**\n     * Typically, this references the version of the application you're \n     * publishing observability events from\n     */\n    productVersion: 'REPLACE_WITH_PRODUCT_VERSION',\n\n    /**\n     * Your \"catalog\" or dictionary serves as the source-of-truth of events \n     * published by an application. This provides the structure for standardization.\n     * \n     * Custom plugins allow you to define your own catalog events, attributes,\n     * and custom validation rules.\n     * \n     * We've added an example event for the sake of getting started.\n     */\n    catalog: {\n      items: {\n        [EventKey.LOADED]: {\n          eventType: 'base', // The base event type for Stratum events\n          description: 'This application has loaded for the first time',\n          id: 1 // Very important reference identifier -- the key to simple queries (can be omitted to use the event key as id)\n        }\n      }\n    }\n  });\n\n  /**\n   * Publish your event via Stratum. In this example, Stratum will send your event\n   * to New Relic's Browser Agent, if available on the webpage.\n   * \n   * (see: https://docs.newrelic.com/docs/browser/browser-monitoring/getting-started/introduction-browser-monitoring/)\n   */\n  stratumService.publish(EventKey.LOADED);\n```\n\n## Installation\n\n**Via npm:**\n```bash\nnpm install @capitalone/stratum-observability\n```\n\n**Via yarn:**\n```bash\nyarn add @capitalone/stratum-observability\n```\n\n## Creating a custom plugin\n\n### Creating a new plugin\n\nPlugins are composed of 3 pieces of data:\n1. Name as a string identifier (required)\n2. Map of eventTypes to the correspond EventModel class (optional)\n3. One or more instantiated publishers to handle specific event type(s) (optional)\n\n```javascript\nimport { BasePlugin } from '@capitalone/stratum-observability';\n\n/**\n * For TypeScript support, BasePlugin accepts types for \n */\nexport class SimplePlugin extends BasePlugin<never, never> {\n  name: 'mySimplePlugin',\n  eventTypes: {\n    // Map catalog events with { eventType: 'simple' } to an instance of SimpleEventModel\n    simple: SimpleEventModel\n  },\n  publishers: [ new SimplePublisher() ]\n}\n```\n\nEach of the concepts above are explained in further detail in the following sections.\n\n#### Plugin factories\nIf you have a configurable plugin that can be customized based on context, define your plugin as a PluginFactory instead of a static object. Plugin factories are a function that (optionally) take in arguments and return a new plugin instance on each execution.\n\nPlugin factory options are good way to dynamically define plugins or pass initialization data to publishers at run-time. Use this in cases where your plugin needs to behave differently based on what application or environment is using it.\n\n```javascript title=\"Simple plugin factory\"\nimport type { PluginFactory } from '@capitalone/stratum-observability';\nconst SimplePluginFactory: PluginFactory<SimplePlugin> = () => new SimplePlugin();\nconst myPluginInstance = SimplePluginFactory();\n```\n\n```javascript title=\"Plugin factory with *optional* options\"\nimport type { PluginFactory } from '@capitalone/stratum-observability';\n\ninterface MyOptions {\n  isLoggedIn: boolean\n}\n\nconst SimplePluginFactoryWithOptions: PluginFactory<SimplePlugin> = (options) => {\n  return options?.isLoggedIn ? new SimplePluginWAuthentication() : new SimplePlugin();\n}\n\n/**\n * In the above, options is optional so both of the\n * following implementations are allowed by the compiler.\n */\nconst myPluginInstance = SimplePluginFactoryWithOptions(); // Valid\nconst myPluginInstanceWithOptions = SimplePluginFactoryWithOptions({ isLoggedIn: true }); // Also valid\n```\n\n### Catalog entries\nThrough plugins, you may define custom event type which are referenced by the `eventType` property on your catalog items. Any events loaded into your StratumService must have a corresponding eventType to EventModel relation defined via a plugin.\n\n```javascript\nimport { StratumCatalog, CatalogEvent } from '@capitalone/stratum-observability';\n\nconst SimpleEventType = 'my-simple-event';\n\n/**\n * Creates a new event type with the base stratum event fields\n * and an additional \"simpleValue\" number attribute\n */\ninterface SimpleEvent extends StratumEvent<SimpleEventType> {\n  simpleValue: number;\n}\n\n/**\n * A catalog composed of SimpleEvents can then\n * be defined.\n * \n * If you do not provide your custom event type interface as a generic\n * to the StratumCatalog type, type-hinting for required properties\n * will not be available. \n * \n * Multiple custom event type interfaces can be added as a union:\n * `StratumCatalog<SimpleEvent | ComplexEvent>`\n * \n * Note: Use `satisfies` instead of a type annotation `:` to preserve\n * literal key types for run-time catalogs published with type-hinting.\n * \n */\nconst catalog = {\n  'my-event': {\n    eventType: SimpleEventType,\n\n    // Implement the required base properties required by Stratum\n    description: 'My simple event that fires from the \"mySimplePlugin\" plugin',\n    id: 1,\n\n    // Additional fields defined by SimpleEvent\n    simpleValue: 12345\n  }\n} satisfies StratumCatalog<SimpleEvent>;\n```\n\n#### Type-safe keys with `satisfies`\nUsing `satisfies StratumCatalog<T>` instead of `: StratumCatalog<T>` preserves literal key types. This enables compile-time key checking when publishing via `catalog.publish()` from `RegisteredStratumCatalog` instance (via `addCatalog()`).\n\nNote: type-safe keys only apply to catalog-level publishing. Publishing through the service (`stratum.publish(key)`) does not support compile-time key checking.\n\n### Event models\n```javascript\nimport { BaseEventModel } from '@capitalone/stratum-observability';\n\n// Pass your SimpleEvent interface into the base EventModel\nexport class SimpleEventModel extends BaseEventModel<SimpleEvent> {\n  // Override to include any custom run-time validation rules\n  protected checkValidity(): boolean {\n    let isValid = super.checkValidity();\n\n    if(!this.item.simpleValue || typeof this.item.simpleValue === 'number') {\n      this.addValidationError('The \"simpleValue\" value provided is in an invalid format');\n      isValid = false;\n    }\n\n    return isValid;\n  }\n}\n```\n\n### Publisher models\n```javascript\nimport { BasePublisher, EventOptions } from '@capitalone/stratum-observability';\n\ninterface ExternalEventSchema {\n  id: number,\n  simpleValue: number\n}\n\nexport class SimplePublisher extends BasePublisher<ExternalEventSchema> {\n  // Required\n  name = 'SimplePublisher';\n\n  /**\n   * Required\n   * Check if your publisher source is available (aka scripts installed, environment\n   * is set up, etc.)\n   * \n   * In this case, we make sure that console.log() is accessible.\n   */\n  async isAvailable(_model: SimpleEventModel) {\n    return typeof console !== 'undefined';\n  }\n\n  /**\n   * Required\n   * Map the contents of your event model instance to your event schema\n   */\n  getModelOutput(model: SimpleEventModel, options?: Partial<EventOptions>): ExternalEventSchema {\n    const data = model.getData(options);\n    return {\n      id: data.id,\n      simpleValue: data.simpleValue\n    };\n  }\n\n  /**\n   * Required\n   * Send your simple event content to the external publisher\n   * \n   * In this, case we publish the event to the console log\n   */\n  async publish(event: ExternalEventSchema) {\n    console.log('publishing simple event!', { id: event.id, simpleValue: event.simpleValue });\n  }\n}\n```\n\n## Contributing\nWe welcome and appreciate your contributions! \n\nIf you have suggestions or find a bug, please [open an issue](https://github.com/capitalone/Stratum-Observability/issues/new/choose).\n\nIf you want to contribute, visit the [contributing page](https://github.com/capitalone/Stratum-Observability/blob/main/CONTRIBUTING.md).\n","readmeFilename":"README.md"}