{"_id":"@bywaretech/bysentinel-core","_rev":"4-e61c24e53cdb9b964d1f31e28774f9dc","name":"@bywaretech/bysentinel-core","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@bywaretech/bysentinel-core","version":"0.1.0","keywords":["bysentinel","observability","redaction","pii","secret-detection","fingerprint","ai-analysis"],"license":"Apache-2.0","_id":"@bywaretech/bysentinel-core@0.1.0","maintainers":[{"name":"byware","email":"contato@byware.com.br"}],"homepage":"https://github.com/bywaretech/bysentinel/tree/main/packages/core#readme","bugs":{"url":"https://github.com/bywaretech/bysentinel/issues"},"dist":{"shasum":"ffa5403d16b19f3a861776ef32b421e0c704a308","tarball":"https://registry.npmjs.org/@bywaretech/bysentinel-core/-/bysentinel-core-0.1.0.tgz","fileCount":71,"integrity":"sha512-1nAOXvFJPua5/9O+PaCGJf0JKTqE/rF+uHsK0FgQCBW4vZkJ1FpvMWzlog/7am+LpxxttO/tCjAj0MQXZBs/+w==","signatures":[{"sig":"MEUCIFc/kUNHNfVpWBqsyb+tN2lUKQLmyBWvO5wTEWDFdOmVAiEAnYxdw0jV2rzrFiKuU0InEFsDhN7zME7b4cNL279jVV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120997},"main":"./dist/index.js","type":"module","_from":"file:/tmp/bysentinel-publish/bywaretech-bysentinel-core-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist .turbo coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"byware","email":"contato@byware.com.br"},"_resolved":"/tmp/bysentinel-publish/bywaretech-bysentinel-core-0.1.0.tgz","_integrity":"sha512-1nAOXvFJPua5/9O+PaCGJf0JKTqE/rF+uHsK0FgQCBW4vZkJ1FpvMWzlog/7am+LpxxttO/tCjAj0MQXZBs/+w==","repository":{"url":"git+https://github.com/bywaretech/bysentinel.git","type":"git","directory":"packages/core"},"_npmVersion":"11.12.1","description":"Shared types, redaction/secret-detection engine and fingerprinting for BySentinel","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/bysentinel-core_0.1.0_1783434989472_0.6142207075584596","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bywaretech/bysentinel-core","version":"0.1.1","keywords":["bysentinel","bywaretech","observability","monitoring","redaction","secret-detection","pii","security","fingerprint","incident-analysis","ai-analysis"],"license":"Apache-2.0","_id":"@bywaretech/bysentinel-core@0.1.1","maintainers":[{"name":"byware","email":"contato@byware.com.br"}],"homepage":"https://github.com/bywaretech/bysentinel/tree/main/packages/core#readme","bugs":{"url":"https://github.com/bywaretech/bysentinel/issues"},"dist":{"shasum":"532dd0243dd57d4a1659b0916c7ac0e6ccb4702a","tarball":"https://registry.npmjs.org/@bywaretech/bysentinel-core/-/bysentinel-core-0.1.1.tgz","fileCount":71,"integrity":"sha512-hzC/XfJSft5OQE58A6bSrd0A4L3rih10CxSj4jXqqU+ZOZvhOlPe/MH3Cbg808LX2WkiLShBwmXSlZ9SUVWmQQ==","signatures":[{"sig":"MEYCIQDKuH8oajGnV6YQHwYKCZTssE65P9uPFSRaYs1WZa4UUgIhAIxORNMPA3140SiUHN5Z9KwUsWBdh2Qklpgm7acuuK61","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121074},"main":"./dist/index.js","type":"module","_from":"file:/tmp/bysentinel-publish/bywaretech-bysentinel-core-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist .turbo coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"byware","email":"contato@byware.com.br"},"_resolved":"/tmp/bysentinel-publish/bywaretech-bysentinel-core-0.1.1.tgz","_integrity":"sha512-hzC/XfJSft5OQE58A6bSrd0A4L3rih10CxSj4jXqqU+ZOZvhOlPe/MH3Cbg808LX2WkiLShBwmXSlZ9SUVWmQQ==","repository":{"url":"git+https://github.com/bywaretech/bysentinel.git","type":"git","directory":"packages/core"},"_npmVersion":"11.12.1","description":"Shared types, redaction/secret-detection engine and fingerprinting for BySentinel","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/bysentinel-core_0.1.1_1783435420477_0.8953706309361475","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bywaretech/bysentinel-core","version":"0.1.2","keywords":["bysentinel","bywaretech","observability","monitoring","redaction","secret-detection","pii","security","fingerprint","incident-analysis","ai-analysis"],"license":"Apache-2.0","_id":"@bywaretech/bysentinel-core@0.1.2","maintainers":[{"name":"byware","email":"contato@byware.com.br"}],"homepage":"https://github.com/bywaretech/bysentinel/tree/main/packages/core#readme","bugs":{"url":"https://github.com/bywaretech/bysentinel/issues"},"dist":{"shasum":"3ba531faec4adfa194d249e2106842f6f9dfc2b2","tarball":"https://registry.npmjs.org/@bywaretech/bysentinel-core/-/bysentinel-core-0.1.2.tgz","fileCount":71,"integrity":"sha512-rJtzrBJE+bvdYU/ciiLfFC+MI0HoKysOFa5yxTc6eet5OX2GrJhbFSGI01W68kEY84vzcnhPw0QsKU+uuFFK8w==","signatures":[{"sig":"MEQCIFxAR58IkybKlMZrYKxiU4rLkbLq/+PatrmFb5rDD/41AiAAgF41QKuq9XGg3ffxMGl9VOxNPHoYsgnFd/MHCp4eGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121082},"main":"./dist/index.js","type":"module","_from":"file:bywaretech-bysentinel-core-0.1.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist .turbo coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"byware","email":"contato@byware.com.br"},"_resolved":"/private/var/folders/74/6q7pjch5231_l5jkyhh_3h_r0000gn/T/06d8fe1b06cc1a778776321ee8482c9c/bywaretech-bysentinel-core-0.1.2.tgz","_integrity":"sha512-rJtzrBJE+bvdYU/ciiLfFC+MI0HoKysOFa5yxTc6eet5OX2GrJhbFSGI01W68kEY84vzcnhPw0QsKU+uuFFK8w==","repository":{"url":"git+https://github.com/bywaretech/bysentinel.git","type":"git","directory":"packages/core"},"_npmVersion":"11.12.1","description":"Shared types, redaction/secret-detection engine and fingerprinting for BySentinel","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/bysentinel-core_0.1.2_1783540371587_0.3585590971030401","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bywaretech/bysentinel-core","version":"0.1.3","description":"Shared types, redaction/secret-detection engine and fingerprinting for BySentinel","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/bywaretech/bysentinel.git","directory":"packages/core"},"homepage":"https://github.com/bywaretech/bysentinel/tree/main/packages/core#readme","bugs":{"url":"https://github.com/bywaretech/bysentinel/issues"},"keywords":["bysentinel","bywaretech","observability","monitoring","redaction","secret-detection","pii","security","fingerprint","incident-analysis","ai-analysis"],"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","import":"./dist/sdk/index.js"}},"sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"typescript":"^5.5.0","vitest":"^3.2.6"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsc -p tsconfig.json --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc -p tsconfig.json --noEmit","lint":"tsc -p tsconfig.json --noEmit","clean":"rm -rf dist .turbo coverage"},"_id":"@bywaretech/bysentinel-core@0.1.3","_integrity":"sha512-6YtBkV+OmM8LaeBSXn/2IXv8ajyHmGrEGjk07D3l7ymZGUD6fpHI96nIeOk3UQnBtndfWAIzTLIOYEdb3brQ9A==","_resolved":"/tmp/bysentinel-publish/bywaretech-bysentinel-core-0.1.3.tgz","_from":"file:/tmp/bysentinel-publish/bywaretech-bysentinel-core-0.1.3.tgz","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-6YtBkV+OmM8LaeBSXn/2IXv8ajyHmGrEGjk07D3l7ymZGUD6fpHI96nIeOk3UQnBtndfWAIzTLIOYEdb3brQ9A==","shasum":"0cf06d5dabdbcd32b14feeaa770903e6c9fe9c7f","tarball":"https://registry.npmjs.org/@bywaretech/bysentinel-core/-/bysentinel-core-0.1.3.tgz","fileCount":111,"unpackedSize":172852,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDFCha3DX8IEyMNmrI+/lClx4CXhrVaw05LEPuqC5POFQIgIqRyl9F/Vghxc4nz2mHUBjFsCwIig4lWq/Qir8qRyfA="}]},"_npmUser":{"name":"byware","email":"contato@byware.com.br"},"directories":{},"maintainers":[{"name":"byware","email":"contato@byware.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bysentinel-core_0.1.3_1783883420300_0.14910367362548382"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T14:36:29.206Z","modified":"2026-07-12T19:10:20.564Z","0.1.0":"2026-07-07T14:36:29.641Z","0.1.1":"2026-07-07T14:43:40.644Z","0.1.2":"2026-07-08T19:52:51.757Z","0.1.3":"2026-07-12T19:10:20.446Z"},"bugs":{"url":"https://github.com/bywaretech/bysentinel/issues"},"license":"Apache-2.0","homepage":"https://github.com/bywaretech/bysentinel/tree/main/packages/core#readme","keywords":["bysentinel","bywaretech","observability","monitoring","redaction","secret-detection","pii","security","fingerprint","incident-analysis","ai-analysis"],"repository":{"type":"git","url":"git+https://github.com/bywaretech/bysentinel.git","directory":"packages/core"},"description":"Shared types, redaction/secret-detection engine and fingerprinting for BySentinel","maintainers":[{"name":"byware","email":"contato@byware.com.br"}],"readme":"# @bywaretech/bysentinel-core\n\nShared, dependency-free building blocks for BySentinel. Used by the SDK,\ncollector and worker.\n\n## Exports\n\n- **Types** — `BySentinelEvent`, `AIAnalysisResult`, `SecuritySignal`,\n  `CaptureOptions`, `SecurityOptions`, `AIOptions`, …\n- **Redaction / secret detection**\n  - `redact(value, options)` — deep, cycle-safe object redaction (key + value layers)\n  - `redactString(str, options)` — redact a single string\n  - `looksHighEntropy`, `shannonEntropy`, `luhnValid`\n- **Security signals** — `detectSecuritySignals({ request, error })`\n- **Fingerprinting** — `fingerprint(input)`, `normalizeStack(stack)`\n- **AI helpers** — `ANALYZER_SYSTEM_PROMPT`, `buildAnalysisUserPrompt(event)`,\n  `validateAnalysis(input)`, `analyzeIncident({ event, provider, model })`,\n  `buildHeuristicAnalysis(event)`\n- **Provider abstraction** — `AIProvider`, `AICompletionRequest`, `AICompletionResult`\n- **Utils** — `newEventId()`, `nowIso()`\n\n## Example\n\n```ts\nimport { redact, detectSecuritySignals, fingerprint } from \"@bywaretech/bysentinel-core\";\n\nconst clean = redact({ authorization: \"Bearer x.y.z\", cpf: \"123.456.789-09\" });\n// { authorization: \"[REDACTED_AUTHORIZATION]\", cpf: \"[REDACTED_CPF]\" }\n\nconst signals = detectSecuritySignals({ request: { body: { file: \"../../etc/passwd\" } } });\n// [{ type: \"path-traversal\", severity: \"high\", ... }]\n\nconst id = fingerprint({ project: \"p\", environment: \"prod\", error: { type: \"TypeError\", stack } });\n```\n\nSee [docs/SECURITY.md](../../docs/SECURITY.md) for the redaction model.\n","readmeFilename":"README.md"}