{"_id":"@ai-armor/nuxt","_rev":"7-796120910432f3be828fdaaf30e567a3","name":"@ai-armor/nuxt","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.1":{"name":"@ai-armor/nuxt","version":"0.1.1","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"author":{"name":"billymaulana"},"license":"MIT","_id":"@ai-armor/nuxt@0.1.1","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"homepage":"https://github.com/billymaulana/ai-armor#readme","bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"dist":{"shasum":"fa2374e8e606c66c990c4b1941f3fcd762273e50","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.1.tgz","fileCount":27,"integrity":"sha512-cOkoFLBOWyj5Og05LEFiS0fiV/IB82/zN/nrcdGxu+QmE1fFdSDiM1yWNTvZFDOA0J21/9u0p/CxooCuYqnxmQ==","signatures":[{"sig":"MEYCIQDBqA3FvH0V8ZMGPB5B+R+mXwBF5kUb6Lh80eHVD5ohHQIhAPUjzYRl1EuwdqCJvj294AosJ6KOM8mtehvRHSHM5409","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-armor%2fnuxt@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16067},"main":"./dist/module.mjs","type":"module","_from":"file:ai-armor-nuxt-0.1.1.tgz","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"scripts":{"dev":"nuxi dev playground","build":"nuxt-module-build build","dev:build":"nuxi build playground"},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"_resolved":"/tmp/08b88b451f6866d01f5cc4588d894294/ai-armor-nuxt-0.1.1.tgz","_integrity":"sha512-cOkoFLBOWyj5Og05LEFiS0fiV/IB82/zN/nrcdGxu+QmE1fFdSDiM1yWNTvZFDOA0J21/9u0p/CxooCuYqnxmQ==","repository":{"url":"git+https://github.com/billymaulana/ai-armor.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"10.9.4","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai-armor":"0.1.1","@nuxt/kit":"^3.16.0 || ^4.0.0","@nuxt/schema":"^3.16.0 || ^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","nuxt":"^4.4.2","@nuxt/test-utils":"^3.17.2","@nuxt/module-builder":"^1.0.2"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.1_1774291077738_0.1608907252198597","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ai-armor/nuxt","version":"0.1.2","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"author":{"name":"billymaulana"},"license":"MIT","_id":"@ai-armor/nuxt@0.1.2","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"homepage":"https://github.com/billymaulana/ai-armor#readme","bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"dist":{"shasum":"c411a7bc29f6999a9ea3cdf7de77781700febaed","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.2.tgz","fileCount":27,"integrity":"sha512-hwCzpv/pTAIuFKGJoZIIyLvld2N0pN6KCrQkTtIND323NpXEquXzwBqz6CQNAJrRn+vTq5OeC4O5VaABQyEnpQ==","signatures":[{"sig":"MEUCIQDp8s2ZuFbTei1V3TVRh+fi+uAx+z/4pUc/ydqd2IrDDQIgaAG8R6432YhEDL7BgB5OEj3Y/OgAUOh559GIhh3CS7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-armor%2fnuxt@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17908},"main":"./dist/module.mjs","type":"module","_from":"file:ai-armor-nuxt-0.1.2.tgz","types":"./dist/types.d.mts","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"scripts":{"dev":"nuxi dev playground","build":"nuxt-module-build build","dev:build":"nuxi build playground"},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"_resolved":"/tmp/8a4b1e7ce2958223ea087bba6358797f/ai-armor-nuxt-0.1.2.tgz","_integrity":"sha512-hwCzpv/pTAIuFKGJoZIIyLvld2N0pN6KCrQkTtIND323NpXEquXzwBqz6CQNAJrRn+vTq5OeC4O5VaABQyEnpQ==","repository":{"url":"git+https://github.com/billymaulana/ai-armor.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"10.9.4","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai-armor":"0.1.2","@nuxt/kit":"^3.16.0 || ^4.0.0","@nuxt/schema":"^3.16.0 || ^4.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","nuxt":"^4.4.2","@nuxt/test-utils":"^3.17.2","@nuxt/module-builder":"^1.0.2"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.2_1774420392514_0.07008572380649558","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ai-armor/nuxt","version":"0.1.3","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"author":{"name":"billymaulana"},"license":"MIT","_id":"@ai-armor/nuxt@0.1.3","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"homepage":"https://github.com/billymaulana/ai-armor#readme","bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"dist":{"shasum":"cae1b689712b601757b50248fcbb7813f60d83e8","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.3.tgz","fileCount":26,"integrity":"sha512-az4paZwx+8c8ahJCGprIbYoHbqVLDyJTE6IEbY1zzkNSwjNjaD6lvPEfKRjqJf6aNp3jRvMev/VAfH2KKgpE8g==","signatures":[{"sig":"MEUCIFltkcoXXMZXpFke6qjPc2MfWaW8mxzHFXQa26df8g1wAiEAtJpTZtiPx0XfE+tlNc+WkKbqj1kEZZDfoeAHg7NubkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16960},"main":"./dist/module.mjs","type":"module","types":"./dist/types.d.mts","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"gitHead":"d6c8e4b218fe876789e38ce778a3ff93030dfd34","scripts":{"dev":"nuxi dev playground","build":"nuxt-module-build build","prepack":"nuxt-module-build build","dev:build":"nuxi build playground"},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"repository":{"url":"git+https://github.com/billymaulana/ai-armor.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"11.6.0","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ai-armor":"workspace:*","@nuxt/kit":"^3.16.0 || ^4.0.0","@nuxt/schema":"^3.16.0 || ^4.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","nuxt":"^4.4.2","@nuxt/test-utils":"^3.17.2","@nuxt/module-builder":"^1.0.2"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.3_1774449415421_0.13876071352112773","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ai-armor/nuxt","version":"0.1.4","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"author":{"name":"billymaulana"},"license":"MIT","_id":"@ai-armor/nuxt@0.1.4","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"homepage":"https://github.com/billymaulana/ai-armor#readme","bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"dist":{"shasum":"28ae587b75eef685ab79c0c3b5851a0c519d2dcc","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.4.tgz","fileCount":26,"integrity":"sha512-KAaYEEp9q1pulEpamfv7exv5vsA9xeG7BeLMirKm0rZ1yaH9tAj54fsSutRz0X00ixrnZyD0OlukgbSbh7n7hA==","signatures":[{"sig":"MEYCIQD+8hm7hpTzZTEc+DdJpLtSvGneJUx8WbTRMfYVe6yJDAIhAPauicor/NhMiEWGffEH5I/2bQJVgDNldGpB/wmqvI/+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16960},"main":"./dist/module.mjs","type":"module","types":"./dist/types.d.mts","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"gitHead":"e5b0ee9a4ae7f67264c8048a50760fab01b4eb6c","scripts":{"dev":"nuxi dev playground","build":"nuxt-module-build build","prepack":"nuxt-module-build build","dev:build":"nuxi build playground"},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"repository":{"url":"git+https://github.com/billymaulana/ai-armor.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"11.6.0","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ai-armor":"workspace:*","@nuxt/kit":"^3.16.0 || ^4.0.0","@nuxt/schema":"^3.16.0 || ^4.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","nuxt":"^4.4.2","@nuxt/test-utils":"^3.17.2","@nuxt/module-builder":"^1.0.2"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.4_1774449582211_0.39938608471303483","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ai-armor/nuxt","version":"0.1.5","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"author":{"name":"billymaulana"},"license":"MIT","_id":"@ai-armor/nuxt@0.1.5","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"homepage":"https://github.com/billymaulana/ai-armor#readme","bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"dist":{"shasum":"9fa358bf15361aad8b72f637de046527fa8784ff","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.5.tgz","fileCount":27,"integrity":"sha512-snEsig5U1s6xMCeMUp6HWhpDMGzCDsGmC5Qn/2pjxfhAya9ZbAU7BAzP/AYx+Xc4lf12vtgmi0ULkacl2PFMpw==","signatures":[{"sig":"MEQCIBXRg7AweEAzImlA+dK8TsQGVtFOWc/fDs8A1qjkJY2uAiAD5NxfymRkXwrE0KJQHWMV9m8NldAbT1QqRm1dMGQE5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17982},"main":"./dist/module.mjs","type":"module","_from":"file:ai-armor-nuxt-0.1.5.tgz","types":"./dist/types.d.mts","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"scripts":{"dev":"nuxi dev playground","build":"nuxt-module-build build","dev:build":"nuxi build playground"},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"_resolved":"/private/var/folders/rt/3xfdg19n7qlcmzx8wsw19m1r0000gn/T/d8f46fe3993b9b50c1193f08c9d6eb8b/ai-armor-nuxt-0.1.5.tgz","_integrity":"sha512-snEsig5U1s6xMCeMUp6HWhpDMGzCDsGmC5Qn/2pjxfhAya9ZbAU7BAzP/AYx+Xc4lf12vtgmi0ULkacl2PFMpw==","repository":{"url":"git+https://github.com/billymaulana/ai-armor.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"11.6.0","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ai-armor":"^0.1.5","@nuxt/kit":"^3.16.0 || ^4.0.0","@nuxt/schema":"^3.16.0 || ^4.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","nuxt":"^4.4.2","@nuxt/test-utils":"^3.17.2","@nuxt/module-builder":"^1.0.2"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.5_1774449706675_0.12821058932353213","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ai-armor/nuxt","version":"0.1.6","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"author":{"name":"billymaulana"},"license":"MIT","_id":"@ai-armor/nuxt@0.1.6","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"homepage":"https://github.com/billymaulana/ai-armor#readme","bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"dist":{"shasum":"ed1a676e8be580a8cf3f3020ee6356c96972f4e2","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.6.tgz","fileCount":27,"integrity":"sha512-vck0F7PI1pli8pRbskixKz5KQSwFXuX9j0XYUc2Ta6Zd9xk3WGmhbivdKuu9CYoz7u8VULf90krjMDIKBl2RjQ==","signatures":[{"sig":"MEQCIEyI0AZsHQjjMvHZzD4B3jpgvVbp6MZvfdEs7K80AWAtAiBpRReTExlw+HULeoPZiuDlBPn7lpFF5mm1978kDXXfiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18519},"main":"./dist/module.mjs","type":"module","_from":"file:ai-armor-nuxt-0.1.6.tgz","types":"./dist/types.d.mts","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"scripts":{"dev":"nuxi dev playground","build":"nuxt-module-build build","dev:build":"nuxi build playground"},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"_resolved":"/private/var/folders/rt/3xfdg19n7qlcmzx8wsw19m1r0000gn/T/3c48f53e56c439abe9eed524ddba2c4a/ai-armor-nuxt-0.1.6.tgz","_integrity":"sha512-vck0F7PI1pli8pRbskixKz5KQSwFXuX9j0XYUc2Ta6Zd9xk3WGmhbivdKuu9CYoz7u8VULf90krjMDIKBl2RjQ==","repository":{"url":"git+https://github.com/billymaulana/ai-armor.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"11.6.0","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ai-armor":"^0.1.6","@nuxt/kit":"^3.16.0 || ^4.0.0","@nuxt/schema":"^3.16.0 || ^4.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","nuxt":"^4.4.2","@nuxt/test-utils":"^3.17.2","@nuxt/module-builder":"^1.0.2"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.6_1774450296690_0.016616549043840356","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@ai-armor/nuxt","type":"module","version":"0.1.7","description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","author":{"name":"billymaulana"},"license":"MIT","homepage":"https://github.com/billymaulana/ai-armor#readme","repository":{"type":"git","url":"git+https://github.com/billymaulana/ai-armor.git","directory":"packages/nuxt"},"bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"main":"./dist/module.mjs","types":"./dist/types.d.mts","typesVersions":{"*":{".":["./dist/types.d.mts"]}},"peerDependencies":{"nuxt":">=3.0.0"},"dependencies":{"@nuxt/kit":"^3.16.0 || ^4.0.0","ai-armor":"^0.1.7"},"devDependencies":{"@nuxt/module-builder":"^1.0.2","@nuxt/schema":"^3.16.0 || ^4.0.0","@nuxt/test-utils":"^3.17.2","nuxt":"^4.4.2","vue":"^3.5.0"},"scripts":{"build":"nuxt-module-build build","dev":"nuxi dev playground","dev:build":"nuxi build playground"},"_id":"@ai-armor/nuxt@0.1.7","_integrity":"sha512-/V23EJImxnaWi8uptp38wwj6+QpIv9KeLNdjwRgSj7DmSyj1k/RwYma/IkO5HUmXkUfyXXM4ZHuJobNA0/gOaA==","_resolved":"/tmp/d6526bdd82a6e6c6158920a5a291f3e2/ai-armor-nuxt-0.1.7.tgz","_from":"file:ai-armor-nuxt-0.1.7.tgz","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-/V23EJImxnaWi8uptp38wwj6+QpIv9KeLNdjwRgSj7DmSyj1k/RwYma/IkO5HUmXkUfyXXM4ZHuJobNA0/gOaA==","shasum":"1ee1bb2d8f86647cbcba4069e112e24239e6327c","tarball":"https://registry.npmjs.org/@ai-armor/nuxt/-/nuxt-0.1.7.tgz","fileCount":27,"unpackedSize":18738,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-armor%2fnuxt@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFxQH7EeStqKdxp+Xvh4FQ5ApSf1mbI7wCuAeOL6xiLjAiEA5QyQ8gYKMmz2P5ChywFzW1pb6h4Va7H1K/wTKx+0Grw="}]},"_npmUser":{"name":"billbravo","email":"billymaulana1999@gmail.com"},"directories":{},"maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt_0.1.7_1774490893867_0.8128082027734627"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-23T18:37:57.649Z","modified":"2026-03-26T02:08:14.350Z","0.1.1":"2026-03-23T18:37:57.875Z","0.1.2":"2026-03-25T06:33:12.660Z","0.1.3":"2026-03-25T14:36:55.595Z","0.1.4":"2026-03-25T14:39:42.373Z","0.1.5":"2026-03-25T14:41:46.810Z","0.1.6":"2026-03-25T14:51:36.827Z","0.1.7":"2026-03-26T02:08:14.017Z"},"bugs":{"url":"https://github.com/billymaulana/ai-armor/issues"},"author":{"name":"billymaulana"},"license":"MIT","homepage":"https://github.com/billymaulana/ai-armor#readme","keywords":["nuxt","nuxt-module","ai","llm","rate-limiting","cost-tracking","safety","guardrails","ai-armor"],"repository":{"type":"git","url":"git+https://github.com/billymaulana/ai-armor.git","directory":"packages/nuxt"},"description":"Nuxt module for ai-armor -- production AI toolkit with rate limiting, cost tracking, fallback, caching, and safety guardrails for Nuxt 3/4","maintainers":[{"name":"billbravo","email":"billymaulana1999@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/billymaulana/ai-armor/main/.github/logo-dark.svg\" alt=\"AI ARMOR\" width=\"160\" />\n</p>\n\n<h3 align=\"center\">@ai-armor/nuxt</h3>\n\n<p align=\"center\">\n  Nuxt module for <a href=\"https://github.com/billymaulana/ai-armor\">ai-armor</a> -- production AI toolkit with rate limiting, cost tracking, budget controls, fallback chains, caching, safety guardrails, and observability.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@ai-armor/nuxt\"><img src=\"https://img.shields.io/npm/v/@ai-armor/nuxt?color=22d3ee&label=npm\" alt=\"npm version\"></a>\n  <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License: MIT\"></a>\n  <a href=\"https://nuxt.com/modules/ai-armor\"><img src=\"https://img.shields.io/badge/Nuxt-Module-00DC82?logo=nuxt.js\" alt=\"Nuxt Module\"></a>\n  <a href=\"https://github.com/billymaulana/ai-armor\"><img src=\"https://img.shields.io/github/stars/billymaulana/ai-armor?style=social\" alt=\"GitHub stars\"></a>\n</p>\n\n---\n\n## Features\n\n- **Rate Limiting** -- Sliding window, fixed window, or token bucket per IP/user/key\n- **Cost Tracking** -- Real-time daily/monthly spend with budget alerts\n- **Safety Guardrails** -- Prompt injection detection, PII filtering, content moderation\n- **Auto-Imported Composables** -- `useArmorCost()`, `useArmorStatus()`, `useArmorSafety()`\n- **Server API Routes** -- Admin endpoints for monitoring and safety checks\n- **Zero Config** -- Works out of the box with sensible defaults\n- **TypeScript First** -- Full type safety with auto-generated types\n\n## Quick Setup\n\nInstall the module:\n\n```bash\nnpx nuxi module add @ai-armor/nuxt\n```\n\nOr manually:\n\n```bash\npnpm add @ai-armor/nuxt ai-armor\n```\n\nAdd to `nuxt.config.ts`:\n\n```ts\nexport default defineNuxtConfig({\n  modules: ['@ai-armor/nuxt'],\n\n  aiArmor: {\n    rateLimit: {\n      strategy: 'sliding-window',\n      rules: [{ key: 'ip', limit: 30, window: '1m' }],\n    },\n    budget: { daily: 50, monthly: 500, onExceeded: 'warn' },\n    safety: { promptInjection: true, piiDetection: true },\n    adminSecret: process.env.ARMOR_ADMIN_SECRET,\n  },\n})\n```\n\n## Composables\n\n| Composable | Purpose |\n|:---|:---|\n| `useArmorCost()` | Track daily/monthly cost, budget proximity |\n| `useArmorStatus()` | Health check, rate limit remaining |\n| `useArmorSafety()` | Safety event tracking, block counts |\n\nAll composables are auto-imported -- no import statements needed.\n\n## Server API Routes\n\n| Route | Description |\n|:---|:---|\n| `GET /api/_armor/status` | Health status, rate limit info |\n| `GET /api/_armor/usage` | Cost tracking, budget utilization |\n| `POST /api/_armor/safety` | Safety check for text content |\n\nAll routes protected by `adminSecret` when configured.\n\n## Server-Side Usage\n\nAccess the armor instance in server routes:\n\n```ts\n// server/api/chat.post.ts\nexport default defineEventHandler(async (event) => {\n  const armor = useArmor()\n  const result = await armor.invoke('openai:gpt-4o', {\n    messages: [{ role: 'user', content: 'Hello' }],\n  })\n  return result\n})\n```\n\n## Compatibility\n\n- Nuxt 3 (>=3.0.0)\n- Nuxt 4 (>=4.0.0)\n- Node.js >= 18\n\n## Documentation\n\nFull documentation: [billymaulana.github.io/ai-armor](https://billymaulana.github.io/ai-armor/)\n\n- [Getting Started](https://billymaulana.github.io/ai-armor/guide/getting-started)\n- [Nuxt Integration Guide](https://billymaulana.github.io/ai-armor/integrations/nuxt)\n- [API Reference](https://billymaulana.github.io/ai-armor/api/create-armor)\n\n## License\n\n[MIT](https://github.com/billymaulana/ai-armor/blob/main/LICENSE) -- [Billy Maulana](https://github.com/billymaulana)\n","readmeFilename":"README.md"}