{"_id":"streetjs","_rev":"36-a86e7c209269d0a52f72faa02636d9bc","name":"streetjs","dist-tags":{"latest":"1.2.8"},"versions":{"1.0.6":{"name":"streetjs","version":"1.0.6","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.6","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/street/","bugs":{"url":"https://github.com/hassanmubiru/street/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"8c15223210819c17fafd9f8b119d6d1788fc5c2d","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.6.tgz","fileCount":184,"integrity":"sha512-HxXq/yowcysc1HqfzodDAVDUzBya/G787jp0uTODDxOffUizCBSQ/OWDsHsWoM1Z+yi3tUiBjjZKWFSGncqVqA==","signatures":[{"sig":"MEQCICpUGj1OODlNzlXdxlEjY0ytc+FALsOy3mYYJVL5vd9xAiBFIMTpKTYszebewXaLzmk00wHCmRiuLtyL6sx8Z3jQIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2033687},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"2ee18d2af5a655d7f9a2d9887917092980c00bc9","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/street.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering. No Express. No pg. No Prisma. 2 dependencies.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.18.0","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.0","js-yaml":"^4.2.0","@types/ws":"^8.5.10","typescript":"^6.0.3","@types/node":"^25.9.1","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.6_1780979933796_0.5502672056828428","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"streetjs","version":"1.0.7","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.7","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/street/","bugs":{"url":"https://github.com/hassanmubiru/street/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"fa597cd5e32c78ee2a08508fbb212bd327853f5c","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.7.tgz","fileCount":668,"integrity":"sha512-seph+zY3saX2nHmNnaFHbl+3SH/CvVI6zY03RQ5rPekYpToAaQBut2+SJBZw647IrR88Vmuj4ywzcZ28mKMZzQ==","signatures":[{"sig":"MEYCIQClxd2FxM0tz6qm4KrJEr364OhVE90UDQxAmUXh4vb/9QIhAPGf6lY5/oDTz/mJhS4/vlmpsRc7MAnSH2G8o5rdblip","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4117337},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"daa0fb4f6bef0218ab9c3da87ab325b42bc2abfc","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/street.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.7_1781406195467_0.6595636799659872","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"streetjs","version":"1.0.8","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.8","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/street/","bugs":{"url":"https://github.com/hassanmubiru/street/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"0fa944fb4fff1244dfe49cfafe5ad0717a6c4149","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.8.tgz","fileCount":672,"integrity":"sha512-Z3/nL73aNhJerp+VK9yxsZ94iigUJ5q2lUswYwz2xVL20By+wzIWns6OxKPqX9EMz73JfIv492sjBDt3cYFhjg==","signatures":[{"sig":"MEYCIQDUw0fSq5IP5g/lqsbNy/vNwnQeYGpEWN7Io7yRQBITNwIhAIa72R2AzAaFdRcAyITC/VNt+SDDuIoY4UKNTPGFrrlH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4119775},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"4220a609259eba7996b8254206913efa00e8c0f2","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/street.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.8_1781429018089_0.284313374489195","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"streetjs","version":"1.0.9","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.9","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/street/","bugs":{"url":"https://github.com/hassanmubiru/street/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"9a1ddc60c0cfef421c0d6c207841623c3d696f92","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.9.tgz","fileCount":672,"integrity":"sha512-tAvqtZ4/XEs4hUHtNgVckVenyjmM9XbkOQAhXEV+ygLBaDQv63anfWvqf7RhVTVtnqKBc0a35eZKs/PHc+Ymlg==","signatures":[{"sig":"MEUCIQClCnwvwZFUjdPIg8uYuJwTfQILVxeXOM8jK8VQMaypDgIgFlepqWPuciUE8Z7ZuS2bMz1IAwmiglFWvugz22qj0w0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4119775},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"254f6ba83837eb4fbccdfffb736019e4404ee09f","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/street.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.9_1781448116124_0.3293203410880965","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"streetjs","version":"1.0.10","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.10","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/street/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"12c97acdce7e98b8b959940404c3a0b7147de523","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.10.tgz","fileCount":672,"integrity":"sha512-riQ83SDIccN+DCQgLenOIRavMEytfluglt80oKRC45p9Gu2TJoxlF+plLmH1Vtymi1sfpjKcLu7KOGVmnMqkLA==","signatures":[{"sig":"MEUCIFSbOOMfEDSFd/FFtqq9vA2gsxfdzVz3WBkr1hfCloCMAiEAof+y1givh+Ur/KVGeZTyt3ctU3MmhieV9XRMuFk3P0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110094},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"d9ce5fe84bb892e51ba61db3cabd6d3375f8e662","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.10_1781694043693_0.2992149641248505","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"streetjs","version":"1.0.11","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.11","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"f6c12727e215ca36b68552228139e27f25422569","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.11.tgz","fileCount":672,"integrity":"sha512-7LwVq3RyWEu3cHY6BnGT9ik5DEEbUsdIAo23lPP1u+1ynEQQB88hLXhdP4GdjgxQA5UH7F9YzohK0sQrOJ0GSA==","signatures":[{"sig":"MEQCIHnXQ9VMlPV5dTz9k+zQ3c67B55TD7pmGkJJd26J4wjQAiBM8w+UohoVeGiz4YmdZ+2o+uyRYf3ianqMmNFsg4culg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"5e66c90b43b7a22be6a114ec56b54a0775c1fde7","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.11_1781698312475_0.9697174262474388","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"streetjs","version":"1.0.12","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.12","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"8c7a01f2d6c5efc1a05f44ea529aaec9fe7e832c","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.12.tgz","fileCount":672,"integrity":"sha512-Yf7MRemBIAtK4FK0ZyELg5ZTKfW0Wxr133Z4pAs9zclxiBfcFg4NBRt4/BalvHKg+Lzlm3voZwl5R2h/jriBIQ==","signatures":[{"sig":"MEUCIQCyAiu4fI1vOBQ0mSdUatm5h4d7EDFYiWECTZtfAwih6QIgQUKXKW5tmB+2kyyh+gvAm+kLRNI1KoLj7E7wLFhn96c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"dd095131b8c7f6f48a9208d710508f9aaa94361d","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.12_1781803472866_0.9109621172546871","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"streetjs","version":"1.0.13","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.13","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"eff83e24a405b5697db365f0ee22233a33eae55c","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.13.tgz","fileCount":672,"integrity":"sha512-T4Zk1NSFzRwGfUeGxrUJzeCLWIrpUbWqi72fr/+/ZeBCmW3bUdKiV1ZxeOwwOfysRF3Yh4JlJ74RFAVJ/1tmIw==","signatures":[{"sig":"MEUCICXhK81oBkACVllCmc8r6758rTbml3deER854hLfHpl6AiEAsdA7KMnlcpVS3esaiKIkyOsT+Zo2TICVrXOCvaqiRz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"2410ec83ae51061d2fb59f4a21ab402d7cf90f26","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.13_1781814060080_0.15476107680379214","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"streetjs","version":"1.0.14","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.14","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"3b5d826b0f884244e875d6a6788c14f5aa249094","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.14.tgz","fileCount":672,"integrity":"sha512-NluLazQu7mNLuKWXFupWgqNQqXGpDBGwRidj7zT67HVWVGFLCf88FPTsgegTIjLJ61TlArboh0WWmlgx6pmehg==","signatures":[{"sig":"MEUCIQDeMBAhv0ESTI8LXLhCcee1BTGJs+zL9cFLBMxfebRscAIgLPm0umI8L6bZHnZpzDtlm93nY63G2K9ZVHbFfY4OAtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"476ee7cb5935c646e35a6e019a8f1fc480fe0e88","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.14_1781829206712_0.9629397086099898","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"streetjs","version":"1.0.15","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.15","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"b274cd9e3945ba7b95507288cb0f31535a51827a","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.15.tgz","fileCount":672,"integrity":"sha512-eJsjZEk9UCQ/iyRy07Yi0kQ2cb3Xa9DaxrKhRaypbb++Vf+MGe6ddBoYYVkZgvIjm2AYgiWLJJDJAKpymHBlyw==","signatures":[{"sig":"MEYCIQDj9NiWRhalWwpWJbSlFCYqfwX5suXXLD0Xtzy/PpSRUgIhAPuQqaXrOOBK8lYvjVyqi3AcGmZIsZvvmTwO4RJAhygl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"b936d0bce54ab733d620af4cdbfab8a28bfc437e","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.15_1781831965772_0.3265912397827686","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"streetjs","version":"1.0.16","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.16","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"4da475ef88adc336da51a9ac6fb82304f6ea5bbb","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.16.tgz","fileCount":672,"integrity":"sha512-6sfaFsckZKFdQnz2qvmmk4dI6IiuHCRl5s44JAsGfTuvRrOR9BBQx3GFJj87PFhQ5axS8RTaMZs4h4wRU5iKow==","signatures":[{"sig":"MEUCIQCfvPncCp/zpeSNfRLG3l7m7KMcRNo02zt8r68zXCnnRgIgY+6kD+D+c4RH4jtuxTrtD8a17S/380hjwb/Oq9x4ydc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"2fade0ed4f499d9fc196a00c96300f3bbccdcba3","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.16_1781834988833_0.16220994769898356","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"streetjs","version":"1.0.17","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.17","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"e8d80cdcc8374f4f17bf98ff8f047cabae4ee02e","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.17.tgz","fileCount":672,"integrity":"sha512-ofBOE1JpN9S+LEq2st0QGHhj9/P3cD4LRUnm+Yr2/CxBT7AYf1omJ+O9G7aQk1Yf2NcEXqRsyzWQOQdRJKsOYQ==","signatures":[{"sig":"MEUCIH5XAYLmrKcgG3JDLhThX44AizPFyRqQ/ZTyX94bWdZhAiEA2iCbz+n8dfAxO4i2+rBxbcTVo9AXyjQMI6Q9H5c9c3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"035723c2799ec5566441a9d5f0c8db2c29ac51ae","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.17_1781839129579_0.806857653131601","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"streetjs","version":"1.0.18","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.18","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"7e5b40c889b8fe2195033f7935a42a0e70ab0bb3","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.18.tgz","fileCount":672,"integrity":"sha512-JiaMYGI93nZzhyveH9tM5o0uveQrb/gkShTR1S26TBrC8s/SsvDNnyGKCfw658NBSjqsyjWl3mFCMengljCtZw==","signatures":[{"sig":"MEQCIA4VTb7d2+ionqojLweFTxARzgzx2YK1lk1kckoSREEzAiAQbrUGIYYhsfIseNZUJXzFUr+1bwNCut2Oqtb/Vy2/Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"b09bf1b85dc56183847c0506bf071eefe27ec664","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.18_1781841427067_0.1525983750722979","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"streetjs","version":"1.0.19","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.19","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"89598bea6e66f16143530917efc7ecf9854659d7","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.19.tgz","fileCount":672,"integrity":"sha512-K+Tc0mb7NazZgZd1dkuw4/e+MOdowaTOKxQlnJ5orjiNT/0rLMBZh8jw03jr0XSywZmWB+PxBV56vOt7xVf14Q==","signatures":[{"sig":"MEYCIQDPkGmVt4ZI+5U+lmikSM5ou9HSuOPmzowKtapml1QrfQIhAPSKEZ3Lj+N+JWBCHVYG5M8rxeiBCsrGR3Zsa+ZWZBKF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"57f849fcfea3a40dbaa80459bbe35700e99e7c77","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.19_1781975939050_0.5878867601784681","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"streetjs","version":"1.0.20","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.20","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"e57cf121dacaa1d743ff38bb12c09f426455c26f","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.20.tgz","fileCount":672,"integrity":"sha512-UkB6m6e/cY2QeWcWuOk0QBfL6NwYN1BJ4wdAxIv6hyspFX9N9Jrmf6af+r9XI4t58Q/LAy3/LBewNRe+VhOADw==","signatures":[{"sig":"MEQCID/G1Fox1VlO0ymeqo9aP1AgaPhQfmOyRfQsEttB7YK6AiABfGmD45DqTBcoHHeUuZfkVCZo90du0uUl21e+yDTPkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"eadbb5d75175304cb82d7f6eaf2580025b1f5fa7","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.20_1782026677351_0.989657273563765","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"streetjs","version":"1.0.21","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.21","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"2fcb2e0cf97f655079c12ab865fece3b13f9441e","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.21.tgz","fileCount":672,"integrity":"sha512-h1LTHiczNcM/Xlu+laT7xnY7oJJh8ItLpNW/UFcFgb08JtbN8wUrBmKIuLPTzZ6uXephOap4/jRErhD9ajgRsw==","signatures":[{"sig":"MEUCIQCBqQ4kwN3v+JfJfzAX09C/Y72mW6UOaaA8CaarIm/d6QIgPdIhRWXkOOmVLpo5iH9seF2EORW14EYcU3BrYienZYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"ef3572cd2d2004590f2e703ef7ea6e4d6e4bd0e0","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.21_1782041598484_0.9874275707701909","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"streetjs","version":"1.0.22","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.22","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"55a1dd2f79f19762430b3599a4cf31bd18e2df2b","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.22.tgz","fileCount":672,"integrity":"sha512-JeAVlZ+tR/98PbC79aeM3jrQkjp/eEpSM63mOejZxRasDaHmcYfKBUQ+WiQ/Wyx2tzXXCnU+qVTNGGHWXdB1bQ==","signatures":[{"sig":"MEQCIEKWTZPji9r7mdnkY816arNMIEJ8w7P5wYMIzeron6MqAiAipohYW0uNQijVWaP4steWrlo9Lq4B0Pzfa2awgonLVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"94ac8864846d9fb44e970bfc2fbfd5eec92fec2f","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.22_1782042707100_0.8502220481745311","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"streetjs","version":"1.0.23","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.23","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"e78e4eaadac65b43f61c4f525ddae089cf5c7518","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.23.tgz","fileCount":672,"integrity":"sha512-z08jwVcXNRwz/rcATajFSlHM3QWOsBmeuxZEM+jC8tn6KpzdGw6/D2qgbgKXjIDsSohxXguzTV0r3bs959j8dA==","signatures":[{"sig":"MEUCIBXpZru4heIQDLcaY000NFpXGTotzUVDwBL/h41AfQCnAiEAv2RdsAb0QdcTTX3jnFafxnHpdaMX9OOXxqvRzQxDraY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"690895720e5c542970bcd5992660e73cf766f54f","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.23_1782077769335_0.22334558186968145","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"streetjs","version":"1.0.24","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.24","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"5266019a2e290f5aa3540a834fad473f01cda802","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.24.tgz","fileCount":672,"integrity":"sha512-E2GXvZeFmpIwSXAAzB2GTCqecCHJwDEMNME+bquxCd+J8U2tVNOW7sZ1nT1SRGDPECuH7d7oPzEGbF+iZ9LlXQ==","signatures":[{"sig":"MEUCIQDluY/TgTZBLkxRpplCEXZvGC8N/vBY+CpYXZsFcJeWvAIgAN81d18Cpcla3DLyHJN0Dt3U1CeWff6TFYtEHNGOK8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"dd5e3286a5bd4027fa684791ed3a50baeb810955","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.24_1782130771025_0.9801963997784666","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"streetjs","version":"1.0.25","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.25","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"187dce3c48cca575baf0126b016443e1bcf55b18","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.25.tgz","fileCount":672,"integrity":"sha512-eUmfApcy1QBt55fftkM8E+TZxhT5J0n3yWuNlcDD3vdtF4oyi6Bb5lwuIhSQFmJ7Jwwgj86yitPpM6u44LpPOw==","signatures":[{"sig":"MEUCIQCbMw1Zr2qDjoQ12EUWRAFJxc1p0o2N62L6Tpkx+NIqMAIgC0i/SLC4aFCXQ0huEtvPbWw0EakSYaTlAIKzkS8RFTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4110557},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"aec2945863138b643f89ec376f44d2136bfc186e","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.8.2","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.25_1782133417702_0.6566626851862505","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"streetjs","version":"1.0.26","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.26","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"b02ac68b0c38ddce3ad0bce4a8c89f56bf97e9a0","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.26.tgz","fileCount":672,"integrity":"sha512-F7vHY5fqtBV3wrMVAbVXdmviKm6xkQ/bEV4PDtonpo2SagirPlSEWIK1OlX/WLdDyuYblZYCrQQKMAaOEKux0w==","signatures":[{"sig":"MEUCIBjDqwYFQSdGGwCp/+d7U/T8oljcgmRJ1x2myqAw4aleAiEAqXV/KHyYYR6zY8+/YeXthP+DmARPv5DigEmKWhlquSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4166985},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"071ac70416c387b6318e9f9ef235645e23f4e00e","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.26_1783289062218_0.3941668741878597","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"streetjs","version":"1.0.27","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.0.27","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"ca0a904043e93bf9734c2bbbf1f29a14add1329d","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.0.27.tgz","fileCount":672,"integrity":"sha512-uTL6kDK4gETl3eAmp/lPOaUP/QwKoxAh+CYBKub5lVeXi7yEd2frAZRo2qFOFSG3zKv+Sxrqsda27BoSOb13ww==","signatures":[{"sig":"MEYCIQCGgFbdYac8pEuyylLs+eTFxllU7/mCLkItJUMvIUKG6QIhALsZUVuS9NTPBUfnmzlPjE9njlj/2IVXyvg/CdtGXjmG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4166985},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"fdf22573c2e81d7efaaf58b96c1047e026217213","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.0.27_1783289597174_0.13086842794659836","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"streetjs","version":"1.1.0","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.1.0","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"a42d6eb2f16fed1eb8c830f1ff24cd125e96261b","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.1.0.tgz","fileCount":673,"integrity":"sha512-CVpevJJk2lKmmeLXor/i9oJ4IJdbQZ41L0cqKfKJRgdXX0VLxu2j6JFYsKe9w2N+mnP+xDCrUjZJkgt8Itq6bA==","signatures":[{"sig":"MEUCIQDrFe0qWntgvdklj0n3duORFkZdjQSosjd6INyoTEZpdQIgczp4u/S+GcnrqqEGKojzSAh+p9CcUKmsBn8x6l9VICQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4169124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"1f1d0b3ceb98f6bbc7e4c1c50867107922aed35a","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.1.0_1783521170724_0.9016417275608477","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"streetjs","version":"1.1.1","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.1.1","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"6bd1465fe57031a1480d2e581fd91bbdfd7dff21","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.1.1.tgz","fileCount":673,"integrity":"sha512-4WivAJOsSsINjvHrBeRGbG+6YX2huW3epmGZ9dC834Vuv5WbzPorjtSx/DppnNa0uVKavsmQciQV2RlTa+o0BQ==","signatures":[{"sig":"MEYCIQDY8u62zeh8+yHBYPfMd+t6fXf5eAfk7oRLpI2TVL4HMQIhAIYjlzXWMc3tmv4UpmHHO11nk1C7XyXiR/fQyheedDym","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4169124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"29be547b908ef37783f338e788d81dfe51b0df76","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^4.2.0","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.1.1_1783522469674_0.18934625804717164","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"streetjs","version":"1.1.2","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.1.2","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"8153d5bcdc201ff6a99e3e376aa82fc327cdd0e5","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.1.2.tgz","fileCount":673,"integrity":"sha512-yABGpEAiJOHizTAtsMd6qP8QIF5WvzJVr8m670QPvOTiZ2u53n5PvtRxymQ4hJ8XKnfO6CMHFvQJ+zEKBfpmlw==","signatures":[{"sig":"MEUCIG4ByEqYvNaCwwdMEPyBeyBJq9/Bp2d8iYmwYm5wpIwEAiEA9OzbDVZZL58XcqEbm5aAA6SOVGG0oh6UhgEBx/fuFN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4169124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"4807d582d8d0941965296db9e1d0fa61957cef25","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.1.2_1783670389681_0.9386438409199029","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"streetjs","version":"1.1.3","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.1.3","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"c07517e3b344f4d3b0f388902f986acffbe17009","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.1.3.tgz","fileCount":673,"integrity":"sha512-PxRlrR5vMlN1GWEGMYYpiJBI5TYE/n9cMTOjp85MfQgBgDT4uI2zPaov1G263BZqjY7qb4Fzh3eoYnbcjs2hbg==","signatures":[{"sig":"MEQCIDsTpbRN9BhR18lINpsz6Qnd3yrnzVPPC/xnOCZ7yS7hAiAY+6xJOjwAijHe59W4g7ewspMsplx9KfO/au9QqIBGWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4169291},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"9d33425a44174667e84b86fb1147fbbd332edf5c","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.1.3_1783736871624_0.5252526164730544","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"streetjs","version":"1.1.4","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.1.4","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"f7401cbf617b5f32e4d5c4bae219fb5e1f8a0018","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.1.4.tgz","fileCount":673,"integrity":"sha512-78Kg6q2OuaVhcieOjAEAUF0tW0TtbTorov39R4+6HzMpDWEvE+QCUqG6i/JbkJL5nbU5OcKGzB+jAgB/t/lA0w==","signatures":[{"sig":"MEQCIA/KOtCW+ezPBu1IVMnpEds5OwCHPHHvWTShh0QxABHIAiA7yhAzzavkyg2ZfeLtmWO2qWvlvonaeD/RkA+hR3VNmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4172702},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"}},"gitHead":"0140001f2543de31da6acfaf44c389c2f6b1b98a","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.1.4_1783750150683_0.1374323405231639","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"streetjs","version":"1.2.0","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.0","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"d17bc42b1c11069e29d837f6895c7881be434f8c","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.0.tgz","fileCount":693,"integrity":"sha512-io4eHSRVWGWnrKYut6PJnDjK3N1AlanJlTJ06jR320ZQnMrJYk8zHXJGDDbTJDEh4PaBfc3T7vQ2wMc/bPttTA==","signatures":[{"sig":"MEQCIDadqTDEYlJhfdMQd4l69AVaA90qj9IkP7nrrePDMsvmAiAKCMtDRf+erdbJI9Z+408zhddcbcCobT1zviYiaHm8yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4225876},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"a29c13c73215a6e7c31306cff672bf61b53d0be8","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.0_1783792232884_0.7928925549560064","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"streetjs","version":"1.2.1","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.1","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"0a4312c922dd73ceb098b569987a373ee8ed44e8","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.1.tgz","fileCount":693,"integrity":"sha512-5m/0bwMfrFLnA2ZcZRbhlIY2QW/6mdCrq34Ye0KjsuN8Mk6uK+TGyugvP8fwg/by9eiv02+i4CNwNujYNFPbcw==","signatures":[{"sig":"MEUCIB12jyNiz3YUfoijZMY21A8VeKKPD2p1P1U1aIdd0hgCAiEAyxT/WL21UWdk6bonrHdNabpkpMo60dzcWRFlZy6/OTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4225876},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"f910ed2b4318ec7bf632d2587d7bb5bd8eb83f02","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.1_1783801567507_0.08339377350179555","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"streetjs","version":"1.2.2","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.2","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"82c4dfcc64903877f66bd665c7cba05f2c91b790","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.2.tgz","fileCount":693,"integrity":"sha512-nzpWa4oVTorn6mTNQ5Mc9MuzKze5+gz2Lh/6C4kb/sbXbvp9u1k33KKoe9m8d8n8wVAejFCWOG6N/5RGcpjTgQ==","signatures":[{"sig":"MEQCIFu6ZZPuWA+AlfVjofYfc3st2rcxoU3dyKYC4HhWr2wxAiAhkOomcaegAxX3HXANs0/cYC5MFKjtpRDMCf5KJKpZCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4226418},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"6f84199c2045d9c6d7eb2f990d1279407a9bedcd","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.2_1783827617848_0.9887153599584679","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"streetjs","version":"1.2.3","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.3","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"390bcda985fe230584509f5c4350edb7a1fb67af","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.3.tgz","fileCount":693,"integrity":"sha512-m7832u1uzbMcfnWc8V1GSK9E2z4X507ituh1I0YkG0hxkyW2aM2S/2zFYuOueYSF9T2SzlHGEPgsxxqs3XP+DA==","signatures":[{"sig":"MEQCIEPi2yd+cjccYfhAl4xKOCFd1CaipVoC0rN8V5cpG9xLAiAddQ+iv02JzKGMNY9NSQUaZCg8D1gU3qaMiNpukR7eZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4227500},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"5285bdd38af30b7eb59acf55c891fc1ef9f0aaa7","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.3_1783835677012_0.3895813086796398","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"streetjs","version":"1.2.4","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.4","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"1e9d556f6fd1b82eaac25f0212a0ac7e9fe82df5","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.4.tgz","fileCount":693,"integrity":"sha512-U6XX/zvsxcsyituc9R3ZVbsIfqy/nvBYHWBzKiMPUO0y+VXw8NpjceRztRxRvx9iALvUue0+bIXavNAJkcPgeg==","signatures":[{"sig":"MEQCIDH8H/UeS1jJ2qKBn1wyWx+GeX5X8i3ltNh+KkTsrDXKAiBdjA0aXc/ftchwQD3YNMBE1U8oou68gbJjCTWN9P35/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4227500},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"e7419cd0da752b5efb5365fb6458e6c846e73bd3","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.4_1783840524494_0.01549607167902578","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"streetjs","version":"1.2.5","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.5","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"7d66fcdcfcb0939b5a35f5953448220117ce9136","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.5.tgz","fileCount":693,"integrity":"sha512-gLLPWkou7aqxPI+bgHmALAxX+4m9vW7aIccXFtx4h0u3j+R1bg7SLmA3t3E5ZFouftw3n1NHMGiQBhgfaymZ3g==","signatures":[{"sig":"MEUCIQDtqwbpEidEOnGsxmSEnEPz/BJt67CdJ3fcIR0MFDzFKAIgZZKZy9K5fbQLwtUnSFPIRMniCKZ2IUx9VH05WGNgmu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4229593},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"41ed199e17a571716e0a069fba061f01ac65dfd1","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.5_1783844141670_0.9743708971108886","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"streetjs","version":"1.2.6","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.6","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"2f08b2db5f5aa5da154fcadc39d25b205155024b","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.6.tgz","fileCount":693,"integrity":"sha512-+y4uWxWNS3pVMiUuU4vMIeB5ze2HEZwe+a+c4a+fALi1f9wUn06E1HZm/9yxOUAYu71D0cVth/S3WnWcGExoWA==","signatures":[{"sig":"MEUCIFspwXd2Kveh9b2NZlxTs9suyR+eDyoIB0vEmBBCZyuqAiEAkBUkBSwcJijsVWj5TOfHhucR+2xKdwTtcCiCPjmbD3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4230204},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"1981bcdf6737e3a7419debd4d85069a604331f07","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.6_1783846184429_0.10210062834421696","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"streetjs","version":"1.2.7","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","_id":"streetjs@1.2.7","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"homepage":"https://hassanmubiru.github.io/StreetJS/","bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"c8":{"all":false,"lines":60,"exclude":["dist/tests/**"],"include":["dist/**/*.js"],"branches":60,"reporter":["text","lcov","html"],"functions":60,"statements":60,"check-coverage":true},"dist":{"shasum":"ca552614aa362d82a9d91b3c1784db542a1c9e15","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.7.tgz","fileCount":693,"integrity":"sha512-3aUkToFTI2NxKNUHUXu8yvr6MmhAqWMyd3fAajbPjDeUxCLlyp/a9veu0akUWgqGoH26a6CT0GXQiC3MaKWD/w==","signatures":[{"sig":"MEUCICryLPN0583nKpVYyugMeQVHWHIsB8OuvrhgsOuir5QHAiEAjMcMEPOr1/fzr0urlhWm1EvM1qQpqeDrLa5eHV0OVS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/streetjs@1.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4230204},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","browser":"./dist/browser.js"},"./cli":{"types":"./dist/cli/kernel.d.ts","import":"./dist/cli/kernel.js","browser":"./dist/browser-stub.js"},"./sse":{"types":"./dist/websocket/sse.d.ts","import":"./dist/websocket/sse.js","browser":"./dist/browser-stub.js"},"./xss":{"types":"./dist/security/xss.d.ts","import":"./dist/security/xss.js","browser":"./dist/security/xss.js"},"./http":{"types":"./dist/http/server.d.ts","import":"./dist/http/server.js","browser":"./dist/browser-stub.js"},"./pool":{"types":"./dist/database/pool.d.ts","import":"./dist/database/pool.js","browser":"./dist/browser-stub.js"},"./cache":{"types":"./dist/cache/lru.d.ts","import":"./dist/cache/lru.js","browser":"./dist/cache/lru.js"},"./pg-ha":{"types":"./dist/database/ha.d.ts","import":"./dist/database/ha.js","browser":"./dist/browser-stub.js"},"./vault":{"types":"./dist/security/vault.d.ts","import":"./dist/security/vault.js","browser":"./dist/browser-stub.js"},"./router":{"types":"./dist/router/router.d.ts","import":"./dist/router/router.js","browser":"./dist/browser-stub.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","browser":"./dist/browser.js"},"./cluster":{"types":"./dist/cluster/coordinator.d.ts","import":"./dist/cluster/coordinator.js","browser":"./dist/browser-stub.js"},"./session":{"types":"./dist/security/session.d.ts","import":"./dist/security/session.js","browser":"./dist/browser-stub.js"},"./webhook":{"types":"./dist/webhook/dispatcher.d.ts","import":"./dist/webhook/dispatcher.js","browser":"./dist/browser-stub.js"},"./database":{"types":"./dist/database/wire.d.ts","import":"./dist/database/wire.js","browser":"./dist/browser-stub.js"},"./security":{"types":"./dist/security/jwt.d.ts","import":"./dist/security/jwt.js","browser":"./dist/browser-stub.js"},"./multipart":{"types":"./dist/multipart/parser.d.ts","import":"./dist/multipart/parser.js","browser":"./dist/browser-stub.js"},"./ratelimit":{"types":"./dist/security/ratelimit.d.ts","import":"./dist/security/ratelimit.js","browser":"./dist/browser-stub.js"},"./telemetry":{"types":"./dist/telemetry/tracker.d.ts","import":"./dist/telemetry/tracker.js","browser":"./dist/browser-stub.js"},"./websocket":{"types":"./dist/websocket/server.d.ts","import":"./dist/websocket/server.js","browser":"./dist/browser-stub.js"},"./exceptions":{"types":"./dist/http/exceptions.d.ts","import":"./dist/http/exceptions.js","browser":"./dist/http/exceptions.js"},"./migrations":{"types":"./dist/database/migrations.d.ts","import":"./dist/database/migrations.js","browser":"./dist/browser-stub.js"},"./repository":{"types":"./dist/database/repository.d.ts","import":"./dist/database/repository.js","browser":"./dist/browser-stub.js"},"./resilience":{"types":"./dist/resilience/index.d.ts","import":"./dist/resilience/index.js","browser":"./dist/resilience/index.js"},"./redis-cluster":{"types":"./dist/transports/redis-cluster.d.ts","import":"./dist/transports/redis-cluster.js","browser":"./dist/transports/redis-cluster.js"}},"gitHead":"75dd0044bca1471487a68d2afc91a2ea02bdec91","scripts":{"dev":"tsc && node dist/main.js","lint":"tsc --noEmit","test":"node --test dist/tests/integration.test.js","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/main.js","migrate":"node dist/main.js migrate","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","prebuild":"node src/database/sqlite/download-wasm.mjs","test:run":"tsc && node --test dist/tests/integration.test.js","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:system":"tsc && node dist/tests/system/runner.js","verify:pack":"node ../../scripts/verify-package.mjs","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","test:security":"tsc && node --test dist/tests/system/security.test.js","version:major":"npm version major --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:patch":"npm version patch --no-git-tag-version","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg"},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"repository":{"url":"git+https://github.com/hassanmubiru/StreetJS.git","type":"git"},"_npmVersion":"10.9.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. 3 dependencies.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","zod":"^4.4.3","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","esbuild":"^0.28.1","js-yaml":"^5.2.1","@types/ws":"^8.5.10","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^26.1.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/streetjs_1.2.7_1783848867252_0.2138861872396305","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"streetjs","version":"1.2.8","description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. Minimal, carefully ","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"browser":"./dist/browser.js","import":"./dist/index.js","types":"./dist/index.d.ts"},"./http":{"browser":"./dist/browser-stub.js","import":"./dist/http/server.js","types":"./dist/http/server.d.ts"},"./router":{"browser":"./dist/browser-stub.js","import":"./dist/router/router.js","types":"./dist/router/router.d.ts"},"./database":{"browser":"./dist/browser-stub.js","import":"./dist/database/wire.js","types":"./dist/database/wire.d.ts"},"./pool":{"browser":"./dist/browser-stub.js","import":"./dist/database/pool.js","types":"./dist/database/pool.d.ts"},"./repository":{"browser":"./dist/browser-stub.js","import":"./dist/database/repository.js","types":"./dist/database/repository.d.ts"},"./migrations":{"browser":"./dist/browser-stub.js","import":"./dist/database/migrations.js","types":"./dist/database/migrations.d.ts"},"./security":{"browser":"./dist/browser-stub.js","import":"./dist/security/jwt.js","types":"./dist/security/jwt.d.ts"},"./session":{"browser":"./dist/browser-stub.js","import":"./dist/security/session.js","types":"./dist/security/session.d.ts"},"./vault":{"browser":"./dist/browser-stub.js","import":"./dist/security/vault.js","types":"./dist/security/vault.d.ts"},"./ratelimit":{"browser":"./dist/browser-stub.js","import":"./dist/security/ratelimit.js","types":"./dist/security/ratelimit.d.ts"},"./xss":{"browser":"./dist/security/xss.js","import":"./dist/security/xss.js","types":"./dist/security/xss.d.ts"},"./websocket":{"browser":"./dist/browser-stub.js","import":"./dist/websocket/server.js","types":"./dist/websocket/server.d.ts"},"./sse":{"browser":"./dist/browser-stub.js","import":"./dist/websocket/sse.js","types":"./dist/websocket/sse.d.ts"},"./cache":{"browser":"./dist/cache/lru.js","import":"./dist/cache/lru.js","types":"./dist/cache/lru.d.ts"},"./telemetry":{"browser":"./dist/browser-stub.js","import":"./dist/telemetry/tracker.js","types":"./dist/telemetry/tracker.d.ts"},"./cluster":{"browser":"./dist/browser-stub.js","import":"./dist/cluster/coordinator.js","types":"./dist/cluster/coordinator.d.ts"},"./cli":{"browser":"./dist/browser-stub.js","import":"./dist/cli/kernel.js","types":"./dist/cli/kernel.d.ts"},"./multipart":{"browser":"./dist/browser-stub.js","import":"./dist/multipart/parser.js","types":"./dist/multipart/parser.d.ts"},"./webhook":{"browser":"./dist/browser-stub.js","import":"./dist/webhook/dispatcher.js","types":"./dist/webhook/dispatcher.d.ts"},"./exceptions":{"browser":"./dist/http/exceptions.js","import":"./dist/http/exceptions.js","types":"./dist/http/exceptions.d.ts"},"./browser":{"browser":"./dist/browser.js","import":"./dist/browser.js","types":"./dist/browser.d.ts"},"./resilience":{"browser":"./dist/resilience/index.js","import":"./dist/resilience/index.js","types":"./dist/resilience/index.d.ts"},"./redis-cluster":{"browser":"./dist/transports/redis-cluster.js","import":"./dist/transports/redis-cluster.js","types":"./dist/transports/redis-cluster.d.ts"},"./pg-ha":{"browser":"./dist/browser-stub.js","import":"./dist/database/ha.js","types":"./dist/database/ha.d.ts"}},"c8":{"include":["dist/**/*.js"],"exclude":["dist/tests/**"],"reporter":["text","lcov","html"],"all":false,"check-coverage":true,"lines":58,"functions":44,"branches":58,"statements":58},"scripts":{"prebuild":"tsc -p ../container/tsconfig.json && tsc -p ../exceptions/tsconfig.json && tsc -p ../diagnostics/tsconfig.json && tsc -p ../store/tsconfig.json && tsc -p ../cache/tsconfig.json && tsc -p ../session/tsconfig.json && tsc -p ../security/tsconfig.json && tsc -p ../websocket/tsconfig.json && tsc -p ../xss/tsconfig.json && tsc -p ../multipart/tsconfig.json && tsc -p ../context/tsconfig.json && tsc -p ../ratelimit/tsconfig.json && tsc -p ../router/tsconfig.json && tsc -p ../webhook-dispatcher/tsconfig.json && tsc -p ../telemetry/tsconfig.json && tsc -p ../cluster/tsconfig.json && tsc -p ../postgres/tsconfig.json && tsc -p ../pool/tsconfig.json && tsc -p ../schema-inspector/tsconfig.json && tsc -p ../migrations/tsconfig.json && tsc -p ../repository/tsconfig.json && node src/database/sqlite/download-wasm.mjs","prebuild:app":"tsc -p ../container/tsconfig.json && tsc -p ../exceptions/tsconfig.json && tsc -p ../diagnostics/tsconfig.json && tsc -p ../store/tsconfig.json && tsc -p ../cache/tsconfig.json && tsc -p ../session/tsconfig.json && tsc -p ../security/tsconfig.json && tsc -p ../websocket/tsconfig.json && tsc -p ../xss/tsconfig.json && tsc -p ../multipart/tsconfig.json && tsc -p ../context/tsconfig.json && tsc -p ../ratelimit/tsconfig.json && tsc -p ../router/tsconfig.json && tsc -p ../webhook-dispatcher/tsconfig.json && tsc -p ../telemetry/tsconfig.json && tsc -p ../cluster/tsconfig.json && tsc -p ../postgres/tsconfig.json && tsc -p ../pool/tsconfig.json && tsc -p ../schema-inspector/tsconfig.json && tsc -p ../migrations/tsconfig.json && tsc -p ../repository/tsconfig.json","build":"tsc -p tsconfig.lib.json","postbuild":"node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","build:app":"node src/database/sqlite/download-wasm.mjs && tsc && node -e \"const fs=require('fs');const p=require('path');const s='src/database/sqlite';const d='dist/src/database/sqlite';fs.mkdirSync(d,{recursive:true});for(const f of ['sqlite3.wasm','sqlite3-node.mjs'])fs.copyFileSync(p.join(s,f),p.join(d,f));\"","start":"node dist/main.js","test":"node --test dist/tests/integration.test.js","verify:wasm":"node src/database/sqlite/download-wasm.mjs --verify","coverage":"c8 node --test --test-force-exit dist/tests/integration.test.js dist/tests/memory-leak.test.js dist/tests/wire-protocol.test.js dist/src/tests/diagnostics.test.js dist/src/tests/schema-inspector.test.js dist/src/tests/security-headers.test.js dist/src/tests/channels.test.js dist/src/tests/ratelimit-store.test.js dist/src/tests/openapi.test.js","test:hardening":"node --test dist/src/tests/plugins-official-hardening.test.js dist/src/tests/webhook-tls-validation.test.js","test:migration":"npm run build && npm run build:app && node --test --test-force-exit dist/tests/package-migration.test.js","test:run":"tsc && node --test dist/tests/integration.test.js","test:system":"tsc && node dist/tests/system/runner.js","test:security":"tsc && node --test dist/tests/system/security.test.js","test:memory":"tsc && node --test dist/tests/system/memory-safety.test.js","test:load":"tsc && node --test dist/tests/system/load-testing.test.js","test:fuzz":"tsc && node --test dist/tests/system/fuzz-testing.test.js","test:chaos":"tsc && node --test dist/tests/system/chaos-testing.test.js","test:infra":"tsc && node --test dist/tests/system/infrastructure.test.js","test:system:ci":"tsc && node dist/tests/system/runner.js --ci --json --skip-pg","migrate":"node dist/main.js migrate","dev":"tsc && node dist/main.js","lint":"tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify:pack":"node ../../scripts/verify-package.mjs","prepublishOnly":"npm run clean && npm run build && npm run lint && npm run verify:pack","version:patch":"npm version patch --no-git-tag-version","version:minor":"npm version minor --no-git-tag-version","version:major":"npm version major --no-git-tag-version"},"keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"author":{"name":"street contributors"},"license":"MIT","homepage":"https://hassanmubiru.github.io/StreetJS/","repository":{"type":"git","url":"git+https://github.com/hassanmubiru/StreetJS.git"},"bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"dependencies":{"@streetjs/cache":"^1.0.0","@streetjs/cluster":"^1.0.0","@streetjs/container":"^1.0.0","@streetjs/context":"^1.1.0","@streetjs/diagnostics":"^1.0.0","@streetjs/exceptions":"^1.0.0","@streetjs/migrations":"^1.0.0","@streetjs/security":"^1.0.0","@streetjs/session":"^1.0.0","@streetjs/store":"^1.0.0","@streetjs/multipart":"^1.0.0","@streetjs/pool":"^1.0.0","@streetjs/postgres":"^1.0.0","@streetjs/ratelimit":"^1.0.0","@streetjs/repository":"^1.0.0","@streetjs/router":"^1.0.0","@streetjs/schema-inspector":"^1.0.0","@streetjs/telemetry":"^1.0.0","@streetjs/webhook-dispatcher":"^1.0.0","@streetjs/websocket":"^1.0.0","@streetjs/xss":"^1.0.0","reflect-metadata":"^0.2.2","ws":"^8.18.0","zod":"^4.4.3"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^26.1.0","@types/ws":"^8.5.10","c8":"^11.0.0","esbuild":"^0.28.1","fast-check":"^4.8.0","js-yaml":"^5.2.1","typescript":"^6.0.3"},"peerDependencies":{"typescript":">=5.0.0"},"engines":{"node":">=22.0.0","npm":">=10.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"gitHead":"d1aad202e307cc0ac3b1ffa1f9984314dbb0c322","_id":"streetjs@1.2.8","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-W1Pg0oxdNeZ7A+IxplWh47/1erzctROCxk0dY2NE6ArefEjqdANOgsNyif8ZqnWBS/8loy13FMmiAsFrfYwpgQ==","shasum":"0db1f96f8aba7fef94177b192abc22dbf369f3c5","tarball":"https://registry.npmjs.org/streetjs/-/streetjs-1.2.8.tgz","fileCount":693,"unpackedSize":3811604,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGFyUSPjsPjWXZRX/4vYpd+95yyohWRKDPOdSaOvKFIRAiByKIEDXevuzt3AleGemdporSENX8o/6y0gwUJS104hoQ=="}]},"_npmUser":{"name":"error51","email":"hassanteeb7@gmail.com"},"directories":{},"maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/streetjs_1.2.8_1786446926449_0.6504911118972629"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T04:38:53.605Z","modified":"2026-08-11T11:15:26.794Z","1.0.6":"2026-06-09T04:38:53.994Z","1.0.7":"2026-06-14T03:03:15.669Z","1.0.8":"2026-06-14T09:23:38.282Z","1.0.9":"2026-06-14T14:41:56.383Z","1.0.10":"2026-06-17T11:00:43.901Z","1.0.11":"2026-06-17T12:11:52.693Z","1.0.12":"2026-06-18T17:24:33.080Z","1.0.13":"2026-06-18T20:21:00.310Z","1.0.14":"2026-06-19T00:33:26.938Z","1.0.15":"2026-06-19T01:19:26.018Z","1.0.16":"2026-06-19T02:09:49.003Z","1.0.17":"2026-06-19T03:18:49.813Z","1.0.18":"2026-06-19T03:57:07.276Z","1.0.19":"2026-06-20T17:18:59.300Z","1.0.20":"2026-06-21T07:24:37.536Z","1.0.21":"2026-06-21T11:33:18.666Z","1.0.22":"2026-06-21T11:51:47.279Z","1.0.23":"2026-06-21T21:36:09.495Z","1.0.24":"2026-06-22T12:19:31.213Z","1.0.25":"2026-06-22T13:03:37.881Z","1.0.26":"2026-07-05T22:04:22.378Z","1.0.27":"2026-07-05T22:13:17.383Z","1.1.0":"2026-07-08T14:32:50.909Z","1.1.1":"2026-07-08T14:54:29.891Z","1.1.2":"2026-07-10T07:59:49.865Z","1.1.3":"2026-07-11T02:27:51.803Z","1.1.4":"2026-07-11T06:09:10.986Z","1.2.0":"2026-07-11T17:50:33.062Z","1.2.1":"2026-07-11T20:26:07.746Z","1.2.2":"2026-07-12T03:40:18.137Z","1.2.3":"2026-07-12T05:54:37.193Z","1.2.4":"2026-07-12T07:15:24.703Z","1.2.5":"2026-07-12T08:15:41.848Z","1.2.6":"2026-07-12T08:49:44.595Z","1.2.7":"2026-07-12T09:34:27.435Z","1.2.8":"2026-08-11T11:15:26.609Z"},"bugs":{"url":"https://github.com/hassanmubiru/StreetJS/issues"},"author":{"name":"street contributors"},"license":"MIT","homepage":"https://hassanmubiru.github.io/StreetJS/","keywords":["typescript","framework","backend","http","server","postgresql","wire-protocol","dependency-injection","ioc","websocket","sse","streaming","memory-safe","clustering","jwt","aes-gcm","rate-limiting","esm","nodejs","rest-api","microservices","real-time","security","openapi","scram-sha-256","no-express","no-pg","no-prisma","production-grade","streetjs","street-framework","kafka","rabbitmq","webauthn","mfa","mtls","opentelemetry","observability","message-queue","input-validation","field-encryption","abuse-prevention","moderation","privacy"],"repository":{"type":"git","url":"git+https://github.com/hassanmubiru/StreetJS.git"},"description":"Production-grade TypeScript backend framework. Native PostgreSQL wire driver, JWT, WebSockets, clustering, runtime input validation, field-level encryption, abuse prevention, moderation & privacy controls. No Express. No pg. No Prisma. Minimal, carefully ","maintainers":[{"name":"error51","email":"hassanteeb7@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/hassanmubiru/StreetJS/main/docs/assets/images/logo-512.png\" alt=\"StreetJS logo\" width=\"120\" height=\"120\">\n</p>\n\n<h1 align=\"center\">streetjs</h1>\n\n<p align=\"center\">\n  <strong>The TypeScript backend framework — built on Node.js core, not on a pile of dependencies.</strong>\n</p>\n\n<p align=\"center\">\n  Auth, realtime, native database drivers, jobs, messaging and OpenAPI, included by default.<br>\n  No Express. No <code>pg</code>. No Prisma. Just three runtime dependencies (<code>reflect-metadata</code>, <code>ws</code>, <code>zod</code>).\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/streetjs\"><img src=\"https://img.shields.io/npm/v/streetjs?color=2563EB\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/streetjs\"><img src=\"https://img.shields.io/npm/dm/streetjs?color=2563EB\" alt=\"npm downloads\"></a>\n  <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/license-MIT-64748B.svg\" alt=\"License: MIT\"></a>\n  <a href=\"https://nodejs.org\"><img src=\"https://img.shields.io/badge/node-%3E%3D20-3C873A\" alt=\"Node.js\"></a>\n  <a href=\"https://www.typescriptlang.org\"><img src=\"https://img.shields.io/badge/typescript-%3E%3D5.0-3178C6\" alt=\"TypeScript\"></a>\n</p>\n\n---\n\n## Install\n\n```bash\nnpm install streetjs\n```\n\n**Requirements:** Node.js ≥ 20, TypeScript ≥ 5.0, and `\"type\": \"module\"` in your `package.json`.\n\n> Renamed from `@streetjs/core`. The old package still works as a deprecated shim that re-exports `streetjs` unchanged. See the [migration guide](https://hassanmubiru.github.io/StreetJS/migration/).\n\n---\n\n## Quick start\n\n```typescript\nimport 'reflect-metadata';\nimport { streetApp, Injectable, Controller, Get, container } from 'streetjs';\nimport type { StreetContext } from 'streetjs';\n\n@Injectable()\nclass GreetingService {\n  greet(name: string) {\n    return `Hello, ${name}!`;\n  }\n}\n\n@Controller('/api')\nclass HelloController {\n  private readonly svc = container.resolve(GreetingService);\n\n  @Get('/hello')\n  async hello(ctx: StreetContext): Promise<void> {\n    ctx.json({ message: this.svc.greet('world') });\n  }\n}\n\nconst app = streetApp({ port: 3000, host: '0.0.0.0' });\napp.registerController(HelloController);\nawait app.listen();\n// [street] Listening on http://0.0.0.0:3000\n```\n\n```bash\ncurl http://localhost:3000/api/hello\n# {\"message\":\"Hello, world!\"}\n```\n\n### Scaffold a full project (recommended)\n\n```bash\nnpm install -g @streetjs/cli\nstreet create my-api\ncd my-api && npm install && street dev\n```\n\n---\n\n## tsconfig.json\n\nStreetJS uses `NodeNext` module resolution and decorator metadata:\n\n```json\n{\n  \"compilerOptions\": {\n    \"target\": \"ES2022\",\n    \"module\": \"NodeNext\",\n    \"moduleResolution\": \"NodeNext\",\n    \"experimentalDecorators\": true,\n    \"emitDecoratorMetadata\": true,\n    \"strict\": true\n  }\n}\n```\n\n---\n\n## Features\n\nEverything below ships in the `streetjs` package — no extra installs.\n\n| Area | Included |\n|---|---|\n| **Core** | HTTP server, router, dependency injection, middleware, typed context, OpenAPI 3.1 generation, exceptions |\n| **Data** | Native PostgreSQL wire driver (SCRAM-SHA-256), native MySQL, SQLite, connection pool, repositories, migrations |\n| **Security** | JWT, AES-256-GCM sessions, scrypt vault, RBAC, rate limiting, XSS sanitizer, field-level encryption, runtime input validation (`zod`) |\n| **Realtime** | Bounded WebSocket server, Server-Sent Events |\n| **Performance** | LRU cache, telemetry (P50/P99), cluster coordinator |\n| **I/O** | Streaming multipart uploads, webhook dispatcher |\n\nA first-party ORM ([`@streetjs/orm`](https://www.npmjs.com/package/@streetjs/orm)), messaging transports, observability, and 19 official signed plugins are available across the ecosystem.\n\n---\n\n## A few essentials\n\n**Dependency injection**\n\n```typescript\nimport { Injectable, container } from 'streetjs';\n\n@Injectable()\nclass UserService {\n  constructor(private readonly db: DatabaseService) {}\n}\n\nconst svc = container.resolve(UserService);\n```\n\n**PostgreSQL (no `pg` dependency)**\n\n```typescript\nimport { PgPool, container } from 'streetjs';\n\nconst pool = new PgPool({\n  host: process.env.PG_HOST, port: 5432,\n  user: process.env.PG_USER, password: process.env.PG_PASSWORD,\n  database: process.env.PG_DATABASE, maxConnections: 10,\n});\nawait pool.initialize();\ncontainer.register(PgPool, pool);\n\nconst { rows } = await pool.query('SELECT * FROM users WHERE id = $1', [id]);\n```\n\n**Security**\n\n```typescript\nimport { JwtService, RateLimiter, authMiddleware, requireRoles } from 'streetjs';\n\nconst jwt = new JwtService(process.env.JWT_SECRET!);\nconst token = jwt.sign({ userId: '123', roles: ['admin'] }, '7d');\n\napp.use(new RateLimiter({ windowMs: 60_000, maxRequests: 100 }).middleware());\napp.use(authMiddleware);\napp.use(requireRoles('admin'));\n```\n\n**WebSocket & SSE**\n\n```typescript\nimport { StreetWebSocketServer, createSse } from 'streetjs';\n\nconst wss = new StreetWebSocketServer({ heartbeatIntervalMs: 30_000, maxConnections: 10_000 });\nwss.on('connection', (socket) => socket.on('message', (d) => socket.emit('echo', d)));\nwss.broadcast('announcement', { text: 'Hello everyone' });\n```\n\n**Exceptions** — throw from anywhere; StreetJS formats the response:\n\n```typescript\nimport { NotFoundException, BadRequestException } from 'streetjs';\nthrow new NotFoundException('User not found');\n```\n\n---\n\n## Subpath exports (tree-shakeable)\n\n```typescript\nimport { streetApp }             from 'streetjs';\nimport { PgPool }                from 'streetjs/pool';\nimport { JwtService }            from 'streetjs/security';\nimport { StreetWebSocketServer } from 'streetjs/websocket';\nimport { LruCache }              from 'streetjs/cache';\nimport { ClusterCoordinator }    from 'streetjs/cluster';\n```\n\n---\n\n## Common environment variables\n\n| Variable | Default | Description |\n|---|---|---|\n| `PORT` | `3000` | HTTP port |\n| `PG_HOST` / `PG_PORT` | `localhost` / `5432` | PostgreSQL connection |\n| `PG_DATABASE` / `PG_USER` / `PG_PASSWORD` | — | PostgreSQL credentials |\n| `JWT_SECRET` | — | JWT signing secret (≥ 32 chars in production) |\n| `SESSION_KEY` | — | Session encryption key (≥ 32 chars in production) |\n| `NODE_ENV` | `development` | Runtime environment |\n\n---\n\n## Documentation & links\n\n- 📖 [Documentation](https://hassanmubiru.github.io/StreetJS/)\n- 🚀 [Getting Started](https://hassanmubiru.github.io/StreetJS/getting-started/)\n- 🧩 [Plugins](https://hassanmubiru.github.io/StreetJS/plugins/)\n- ⚖️ [Compare vs Express / Fastify / NestJS](https://hassanmubiru.github.io/StreetJS/compare/)\n- 💬 [GitHub & Discussions](https://github.com/hassanmubiru/StreetJS)\n- 📦 [`@streetjs/cli`](https://www.npmjs.com/package/@streetjs/cli) · [Changelog](https://github.com/hassanmubiru/StreetJS/blob/main/CHANGELOG.md)\n\n## License\n\nMIT © street contributors\n","readmeFilename":"README.md"}