{"_id":"@divyank96/guardial-sveltekit-sdk","_rev":"9-d622a44fdfefa51381ab9ddc8eefa9aa","name":"@divyank96/guardial-sveltekit-sdk","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.0":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.1.0","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.1.0","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"305f93332f16fb9405e6ff39524968ffdcdb4498","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.1.0.tgz","fileCount":15,"integrity":"sha512-TCvt9WPlrMeYEdgw3q+FMzJTuFN+Cn1b1kTtozgXEU3sVafQPBJoFMkxvm2BJP6eU5Bw8vE22GCHfOGIM7u3vA==","signatures":[{"sig":"MEUCIQCGmiHhw5tO+AzQcFsotnZcxfpE433I+3K+Xg/uq1OUCwIgdl2QB/R+T6GhAI4L6BUJvQUKY1qQu50rMHpngpiDWrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43855},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"b70d55b04f1d253139e11949714b321b7e8ec110","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.1.0_1766508016288_0.37181219543769517","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.1.1","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.1.1","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"5b1867604b35c99712f187c0218790ae0c5026b9","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.1.1.tgz","fileCount":15,"integrity":"sha512-3VxtAH6VZd7GLjAtzhBXu609jdSZEMuRtpcPeAERWvdLiOV9DlcT+i37K+m2/1Pa91rW9rptLWBQH9BmLYlpaQ==","signatures":[{"sig":"MEYCIQCD25P+87yMU8RpD/82aYQP0Eg6lnkwmI5iBcQ0lZEWCgIhAPnXT7TlDY0Lu15Qszz+g6zXpwfi5deueCKVWAvHEkvf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43855},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"b70d55b04f1d253139e11949714b321b7e8ec110","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.1.1_1766508428388_0.5254436879798512","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.0","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.2.0","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"02d045a24d2129ae2efb1b9a8c66c7467b9a83d3","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.0.tgz","fileCount":15,"integrity":"sha512-ZsXCnwHiRTLnzK8RlAmXpEuXtJ/QmWqHQpZ/YBJv+cufE62By02hyfNgG4dGvllhDO4wsDiGrjYlT5KlVzNyTQ==","signatures":[{"sig":"MEYCIQCmJztIT9b8DW3OGV4oOZI/kMbkZa+zUk6R+cf5IveI9gIhAMjNEpZTnDa5BzGOOVKcdKxsxefYcaIY6Mo+gFqfNdUD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47869},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"69060e8ea10d100370deaa57c0b02d9c06ddc2ff","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.2.0_1766509457074_0.8830077677286987","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.1","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.2.1","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"4ae0ba63b13fdbdc80446eabd6aae44d065f4562","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.1.tgz","fileCount":15,"integrity":"sha512-AS0KgWUA8G/1G/5yx+iK8+WheqpFQlp04UjWWOxm8fXJJizVCA2rndLTFMwqTRjrex/LYJ8X641JBrFOI+7/xA==","signatures":[{"sig":"MEQCICoNbFrhzP+du1XhyH3RaLpLC5yQswu/UTkVvniJeX6mAiAkGFoQIb4F1YQuOsCmCwDVY/LaSecdQryaMWaxeZGkww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47868},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"69060e8ea10d100370deaa57c0b02d9c06ddc2ff","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.2.1_1766509634848_0.18847782233252586","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.2","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.2.2","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"b511f6f7ef47a7e3764537768f322ccf6380eed1","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.2.tgz","fileCount":15,"integrity":"sha512-8PlWgHGBnkv3V7GIEAk8Wnp7XncVYNvleDVQ8JTgivcImZkCJZgFXPjvfJnNV8NwIanSf+fO7PgI/ZQQ6NLg7Q==","signatures":[{"sig":"MEYCIQD+epiQtSVuBNdLq5TBRT+vrUwcLBTLRyyVAKLnVw7KFwIhAOR/EwLAF3G7G0mMlx2AyG2FQ4NOognMbVQ0Z+n8VdS2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47868},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"0a721c03ef8f111e75080a7ed41d2032df7dc749","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.2.2_1766510153695_0.1801312917758804","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.3","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.2.3","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"973adcafe9a18add61da89bab11f8e899c646741","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.3.tgz","fileCount":15,"integrity":"sha512-pSsI8ax6nQKVs8eMi/bEWchiZXl7cyqGIyAak9j+vYbxvd5YvdFDcpzUM3FWGG+g5wkqdDDJEaW5QeGXIRQxSQ==","signatures":[{"sig":"MEUCIQCiPoLrwism/Os23+ulDe5j54R2AepZtrqTAQu/RABWLAIgGC5gc4jBlDA40XQntE+rkoM4QH63hpSeKiho9AkONLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48021},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"487f974da71c05b4844dd09aac7b8b22175aa31b","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.2.3_1766513914080_0.3731352617873265","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.4","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.2.4","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"34b57a938cb7da265f9eb8105bfa658be35aaf87","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.4.tgz","fileCount":15,"integrity":"sha512-NUjdbeE2+xbUSX38sMOxXUwfm7I3VCpZpmBZJL/V+6AkeLZxn6fpc33tC8C60uk3208YJ4x5LyOT9pf2BdO1dA==","signatures":[{"sig":"MEUCIExmvlIfYSLJmg2lzs/RNjw0AIh6uwq42+/1/L1bBwD9AiEA1wItaT4CqoumOzZClwsJF3JOwmb7sfeEptowaLomvgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"27b4152296f5a824f82375a92c425a56b90fb396","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.2.4_1766514185356_0.45977692253027413","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.5","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"url":"https://github.com/divyankvijayvergiya","name":"Divyank Vijayvergiya","email":"divyank@guardial.in"},"license":"MIT","_id":"@divyank96/guardial-sveltekit-sdk@0.2.5","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"dist":{"shasum":"1491705f346a22d43e34f58f06f482521c28ef00","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.5.tgz","fileCount":15,"integrity":"sha512-HUZLQ5WIRCX+bIDeWzGJjgnguhTov3S1oVzRjfYYogdDD4tiWYLmi3c0a0FtWc4z3c8OQqLUyQWeQBSNrsrkkA==","signatures":[{"sig":"MEUCIQDwJyYbrXh7XjMsOKNAOaxuEaH8T8PCkWF6h35nCJs6qQIgJKgPTjRXiFzVNwPkv8PoAbYjo44mJDRIUdz3qGevM1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50766},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./zod":{"types":"./dist/zod.d.ts","import":"./dist/zod.js"},"./hooks":{"types":"./dist/hooks.d.ts","import":"./dist/hooks.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js"}},"gitHead":"865901e9a16a113fbb58bec5ff28c5663ad6a8c8","scripts":{"dev":"tsc --watch","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"repository":{"url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","type":"git","directory":"sdk/typescript"},"_npmVersion":"10.9.3","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.12","typescript":"^5.9.3","@types/node":"^20.0.0","@sveltejs/kit":"^2.47.1"},"peerDependencies":{"svelte":"^5.0.0","@sveltejs/kit":"^2.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/guardial-sveltekit-sdk_0.2.5_1766514982288_0.6389337977825444","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@divyank96/guardial-sveltekit-sdk","version":"0.2.6","description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./hooks":{"import":"./dist/hooks.js","types":"./dist/hooks.d.ts"},"./client":{"import":"./dist/client.js","types":"./dist/client.d.ts"},"./zod":{"import":"./dist/zod.js","types":"./dist/zod.d.ts"}},"scripts":{"build":"tsc","dev":"tsc --watch","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"author":{"name":"Divyank Vijayvergiya","email":"divyank@guardial.in","url":"https://github.com/divyankvijayvergiya"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","directory":"sdk/typescript"},"bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","peerDependencies":{"@sveltejs/kit":"^2.0.0","svelte":"^5.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"dependencies":{},"devDependencies":{"@sveltejs/kit":"^2.47.1","@types/node":"^20.0.0","typescript":"^5.9.3","zod":"^4.1.12"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@divyank96/guardial-sveltekit-sdk@0.2.6","gitHead":"f7ff693f330be9fb91739129c9d813e01c44e547","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-0h4VN9AG+4WwpDlTL9C6sR4PcdwOdhJv4t4viJy88Bij61xCNcjDkGni9kzRQGeqLU+8UMOxr+YL7LE7e/23mA==","shasum":"5054fd17b765eba1db239e041cd407d17c1ae04b","tarball":"https://registry.npmjs.org/@divyank96/guardial-sveltekit-sdk/-/guardial-sveltekit-sdk-0.2.6.tgz","fileCount":15,"unpackedSize":50769,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDzLSCqBv90Bb7Rw77g/EqAvqN++E29QGThzQskOlRHqAIhAOEHjNzIukciZYLC6cxYWpp2HxoMr6aUOTj0hT/IbNVv"}]},"_npmUser":{"name":"divyank96","email":"divyank@guardial.in"},"directories":{},"maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/guardial-sveltekit-sdk_0.2.6_1769793607104_0.11312832139680085"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-23T16:40:16.173Z","modified":"2026-01-30T17:20:07.397Z","0.1.0":"2025-12-23T16:40:16.426Z","0.1.1":"2025-12-23T16:47:08.538Z","0.2.0":"2025-12-23T17:04:17.313Z","0.2.1":"2025-12-23T17:07:14.999Z","0.2.2":"2025-12-23T17:15:53.845Z","0.2.3":"2025-12-23T18:18:34.250Z","0.2.4":"2025-12-23T18:23:05.530Z","0.2.5":"2025-12-23T18:36:22.459Z","0.2.6":"2026-01-30T17:20:07.269Z"},"bugs":{"url":"https://github.com/divyankvijayvergiya/guardial-backend/issues"},"author":{"name":"Divyank Vijayvergiya","email":"divyank@guardial.in","url":"https://github.com/divyankvijayvergiya"},"license":"MIT","homepage":"https://github.com/divyankvijayvergiya/guardial-backend#readme","keywords":["sveltekit","svelte","typescript","security","owasp","llm-firewall","prompt-injection","api-security","web-security","sql-injection","xss-protection","guardial","cybersecurity","threat-detection"],"repository":{"type":"git","url":"git+https://github.com/divyankvijayvergiya/guardial-backend.git","directory":"sdk/typescript"},"description":"Guardial SDK for SvelteKit - TypeScript-first security SDK with OWASP Top 10 Detection & LLM Prompt Firewall","maintainers":[{"name":"divyank96","email":"divyank@guardial.in"}],"readme":"# Guardial SvelteKit SDK\n\n🛡️ **TypeScript-first security SDK for SvelteKit applications**\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9+-blue.svg)](https://www.typescriptlang.org/)\n[![SvelteKit](https://img.shields.io/badge/SvelteKit-2.0+-orange.svg)](https://kit.svelte.dev/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nReal-time OWASP Top 10 Detection & LLM Prompt Firewall for SvelteKit applications with full TypeScript support.\n\n## Features\n\n- ✅ **TypeScript-first** - Full type safety and IntelliSense support\n- ✅ **SSR Support** - Works seamlessly with SvelteKit server-side rendering\n- ✅ **Automatic Protection** - Protect all routes via hooks\n- ✅ **LLM Prompt Firewall** - Detect and block prompt injection attacks\n- ✅ **OWASP Top 10 Detection** - SQL injection, XSS, path traversal, and more\n- ✅ **Zod Integration** - Type-safe validation with security checks\n- ✅ **Client & Server** - Works in both server and client code\n\n## Installation\n\n```bash\nnpm install @divyank96/guardial-sveltekit-sdk\n# or\npnpm add @divyank96/guardial-sveltekit-sdk\n# or\nyarn add @divyank96/guardial-sveltekit-sdk\n```\n\n## Quick Start\n\n### 1. Get Your API Key\n\nSign up at [dashboard.guardial.in](https://dashboard.guardial.in) to get your free API key (100K requests/month).\n\n### 2. Configure Environment Variables\n\nCreate `.env` file:\n\n```bash\nGUARDIAL_API_KEY=your-api-key-here\nGUARDIAL_ENDPOINT=https://api.guardial.in\n```\n\n### 3. Set Up Hooks (Automatic Protection)\n\nCreate or update `src/hooks.server.ts`:\n\n```typescript\nimport { createGuardialHandle } from '@divyank96/guardial-sveltekit-sdk/hooks';\nimport type { Handle } from '@sveltejs/kit';\n\nexport const handle: Handle = createGuardialHandle({\n  config: {\n    apiKey: process.env.GUARDIAL_API_KEY!,\n    endpoint: process.env.GUARDIAL_ENDPOINT || 'https://api.guardial.in',\n    customerId: 'your-app-name',\n    debug: process.env.NODE_ENV === 'development'\n  },\n  excludePaths: ['/_app', '/_build', '/favicon.ico', '/api/health'],\n  failOpen: true // Allow requests if analysis fails\n});\n```\n\nThat's it! All your routes are now automatically protected.\n\n### 4. Use in API Routes\n\n```typescript\n// src/routes/api/chat/+server.ts\nimport { json, error } from '@sveltejs/kit';\nimport type { RequestHandler } from './$types';\nimport { GuardialClient } from '@divyank96/guardial-sveltekit-sdk';\n\nconst guardial = new GuardialClient({\n  apiKey: process.env.GUARDIAL_API_KEY!,\n  customerId: 'your-app-name'\n});\n\nexport const POST: RequestHandler = async ({ request }) => {\n  const { message } = await request.json();\n\n  // Analyze LLM prompt\n  const analysis = await guardial.promptGuard(message, {\n    user_id: request.headers.get('x-user-id') || 'anonymous'\n  });\n\n  if (!analysis.allowed) {\n    throw error(403, {\n      message: 'Prompt blocked',\n      details: analysis.reasons\n    });\n  }\n\n  // Your business logic here\n  return json({ response: 'Safe to process' });\n};\n```\n\n### 5. Use in Svelte Components (Client-Side)\n\n```typescript\n// src/lib/guardial.ts\nimport { getGuardialClient } from '@divyank96/guardial-sveltekit-sdk/client';\nimport { browser } from '$app/environment';\n\nexport function initGuardial() {\n  if (browser) {\n    return getGuardialClient({\n      apiKey: import.meta.env.PUBLIC_GUARDIAL_API_KEY,\n      customerId: 'your-app-name'\n    });\n  }\n  return null;\n}\n```\n\n```svelte\n<!-- src/routes/chat/+page.svelte -->\n<script lang=\"ts\">\n  import { onMount } from 'svelte';\n  import { analyzePrompt } from '@divyank96/guardial-sveltekit-sdk/client';\n  import { initGuardial } from '$lib/guardial';\n\n  let message = '';\n  let response = '';\n  let loading = false;\n\n  onMount(() => {\n    initGuardial();\n  });\n\n  async function sendMessage() {\n    loading = true;\n    \n    try {\n      // Check prompt before sending\n      const analysis = await analyzePrompt(message);\n      \n      if (!analysis.allowed) {\n        alert(`Prompt blocked: ${analysis.reasons.join(', ')}`);\n        return;\n      }\n\n      // Make API call\n      const res = await fetch('/api/chat', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ message })\n      });\n\n      const data = await res.json();\n      response = data.response;\n      \n    } catch (error) {\n      console.error('Error:', error);\n      alert('Request failed');\n    } finally {\n      loading = false;\n    }\n  }\n</script>\n\n<div class=\"chat-container\">\n  <input bind:value={message} placeholder=\"Enter message\" />\n  <button on:click={sendMessage} disabled={loading}>\n    {loading ? 'Sending...' : 'Send'}\n  </button>\n  {#if response}\n    <div class=\"response\">{response}</div>\n  {/if}\n</div>\n```\n\n## API Reference\n\n### GuardialClient\n\nMain client class for security analysis.\n\n```typescript\nimport { GuardialClient } from '@divyank96/guardial-sveltekit-sdk';\n\nconst client = new GuardialClient({\n  apiKey: 'your-api-key',\n  endpoint: 'https://api.guardial.in',\n  customerId: 'your-app-name',\n  debug: false,\n  timeout: 30000\n});\n```\n\n#### Methods\n\n- `analyzeRequestEvent(event: RequestEvent)` - Analyze a SvelteKit request event\n- `analyzeEvent(event: SecurityEventRequest)` - Analyze a security event\n- `promptGuard(input: string, context?: Record<string, string>)` - Analyze LLM prompt\n- `healthCheck()` - Check Guardial service health\n\n### Hooks Integration\n\n```typescript\nimport { createGuardialHandle } from '@divyank96/guardial-sveltekit-sdk/hooks';\n\nexport const handle = createGuardialHandle({\n  config: { /* ... */ },\n  excludePaths: ['/_app'],\n  failOpen: true,\n  onError: (error, event) => { /* ... */ },\n  onBlocked: (analysis, event) => { /* ... */ }\n});\n```\n\n### Client Utilities\n\n```typescript\nimport { \n  getGuardialClient, \n  secureFetch, \n  analyzePrompt \n} from '@divyank96/guardial-sveltekit-sdk/client';\n\n// Get client instance\nconst client = getGuardialClient(config);\n\n// Secure fetch wrapper\nconst response = await secureFetch('/api/data', options);\n\n// Analyze prompt\nconst analysis = await analyzePrompt('user input');\n```\n\n### Zod Integration\n\n```typescript\nimport { guardialSafe } from '@divyank96/guardial-sveltekit-sdk/zod';\nimport { z } from 'zod';\n\nconst schema = z.object({\n  message: z.string()\n});\n\nconst parser = guardialSafe(schema, {\n  guardial: client,\n  checkPrompts: true\n});\n\nconst data = await parser.parse({ message: userInput });\n```\n\n## Type Definitions\n\nAdd to `src/app.d.ts`:\n\n```typescript\ndeclare global {\n  namespace App {\n    interface Locals {\n      guardial?: {\n        analysis: import('@divyank96/guardial-sveltekit-sdk').SecurityEventResponse;\n        riskScore: number;\n        eventId: string;\n      };\n    }\n  }\n}\n\nexport {};\n```\n\n## Configuration Options\n\n### GuardialConfig\n\n```typescript\ninterface GuardialConfig {\n  apiKey: string;           // Required: Your API key\n  endpoint?: string;         // Optional: API endpoint (default: https://api.guardial.in)\n  customerId?: string;       // Optional: Customer ID (default: 'default')\n  debug?: boolean;           // Optional: Enable debug logging (default: false)\n  timeout?: number;          // Optional: Request timeout in ms (default: 30000)\n}\n```\n\n### GuardialHooksOptions\n\n```typescript\ninterface GuardialHooksOptions {\n  config: GuardialConfig;\n  excludePaths?: string[];   // Paths to exclude from analysis\n  failOpen?: boolean;        // Allow requests if analysis fails (default: true)\n  onError?: (error, event) => void;\n  onBlocked?: (analysis, event) => void;\n}\n```\n\n## Examples\n\n### Example 1: Protect API Route\n\n```typescript\n// src/routes/api/users/+server.ts\nimport { json } from '@sveltejs/kit';\nimport type { RequestHandler } from './$types';\n\nexport const GET: RequestHandler = async ({ locals }) => {\n  // Request already analyzed by hooks.server.ts\n  // Access analysis via locals.guardial\n  \n  if (locals.guardial?.riskScore > 70) {\n    console.warn('High-risk request detected');\n  }\n\n  return json({ users: [] });\n};\n```\n\n### Example 2: Manual Analysis\n\n```typescript\n// src/routes/api/upload/+server.ts\nimport { error } from '@sveltejs/kit';\nimport { GuardialClient } from '@divyank96/guardial-sveltekit-sdk';\n\nconst guardial = new GuardialClient({\n  apiKey: process.env.GUARDIAL_API_KEY!\n});\n\nexport const POST: RequestHandler = async ({ request }) => {\n  const formData = await request.formData();\n  const file = formData.get('file') as File;\n  \n  // Analyze file content if it's text\n  if (file.type.startsWith('text/')) {\n    const content = await file.text();\n    const analysis = await guardial.promptGuard(content);\n    \n    if (!analysis.allowed) {\n      throw error(403, { message: 'File content blocked' });\n    }\n  }\n\n  // Process file...\n  return json({ success: true });\n};\n```\n\n### Example 3: Form Validation with Zod\n\n```typescript\n// src/routes/contact/+page.server.ts\nimport { fail } from '@sveltejs/kit';\nimport { z } from 'zod';\nimport { guardialSafe } from '@divyank96/guardial-sveltekit-sdk/zod';\nimport { GuardialClient } from '@divyank96/guardial-sveltekit-sdk';\n\nconst guardial = new GuardialClient({\n  apiKey: process.env.GUARDIAL_API_KEY!\n});\n\nconst contactSchema = z.object({\n  name: z.string().min(1),\n  email: z.string().email(),\n  message: z.string().min(10)\n});\n\nexport const actions = {\n  default: async ({ request }) => {\n    const formData = await request.formData();\n    const data = Object.fromEntries(formData);\n\n    // Validate with Zod and Guardial\n    const parser = guardialSafe(contactSchema, {\n      guardial,\n      shouldCheckPrompt: (value) => {\n        // Only check the message field\n        return typeof value === 'object' && 'message' in value;\n      }\n    });\n\n    try {\n      const validated = await parser.parse(data);\n      // Process form...\n      return { success: true };\n    } catch (error) {\n      return fail(400, { error: error.message });\n    }\n  }\n};\n```\n\n## Error Handling\n\n```typescript\nimport { GuardialError } from '@divyank96/guardial-sveltekit-sdk';\n\ntry {\n  const analysis = await client.analyzeEvent(event);\n} catch (error) {\n  if (error instanceof GuardialError) {\n    console.error('Guardial error:', error.statusCode, error.message);\n  } else {\n    console.error('Unknown error:', error);\n  }\n}\n```\n\n## Best Practices\n\n1. **Always use environment variables** for API keys\n2. **Exclude static assets** from analysis in hooks\n3. **Use fail-open** in development, **fail-closed** in production for critical endpoints\n4. **Monitor risk scores** in your application logs\n5. **Handle errors gracefully** - don't expose internal details to users\n\n## Support\n\n- **Documentation**: https://docs.guardial.in\n- **GitHub Issues**: https://github.com/guardial/sveltekit-sdk/issues\n- **Email**: support@guardial.in\n\n## License\n\nMIT License - see LICENSE file for details.\n\n---\n\n**Ready to secure your SvelteKit application?** Get your API key at [dashboard.guardial.in](https://dashboard.guardial.in) and start protecting your APIs today!\n\n","readmeFilename":"README.md"}