{"_id":"@airtasystems/ailp","_rev":"20-f1ce69c4a2051072dc6ba8ab48fb4dd3","name":"@airtasystems/ailp","dist-tags":{"latest":"5.0.0"},"versions":{"0.2.5":{"name":"@airtasystems/ailp","version":"0.2.5","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.2.5","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"dfcc8074503e5168c997e7632ad0510bf6581308","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.2.5.tgz","fileCount":26,"integrity":"sha512-MFn4RRYLkT3uxjP3M3aaSgqpU+Bio41EVcFGgQZgCq8aoO6/gEKHR/IFyvotuATJ1/+t/CY3jIOgPOLp19fxZQ==","signatures":[{"sig":"MEUCIFx6Yh3EudxHde07CZ4D/mr+6RELerQQIWc/rounSiGkAiEA8D+r/AISzJ0K+aoFXnAwvV3XkkTFe8YP/Ax7dTrzUeY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49090},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"26b6b45f4ebf795c713a0d129a31ea4e823042a4","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.2.5_1776413697992_0.4421187764904355","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@airtasystems/ailp","version":"0.3.0","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.3.0","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"52bd32aa66a6beb3d69028c89d84211368b85d25","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.3.0.tgz","fileCount":26,"integrity":"sha512-RYSFM0Xfdn7FvWyVmKCoqeSjZIuKHuB+FsWGhfaqvA8DYLlDJRRkSOOH/1PSRhRxk9Hr2Y9HdrMfF3t51uL8zg==","signatures":[{"sig":"MEQCIGs2MPa76m12FQwVygoUHYchgb8pcIjfwgKtMiOEPstsAiAsh3mpz8lt7rRrLCe++GWXJu8SA58+gyha3iitvz2iPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49090},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"57ce20832545bc4d3d119651fc7e302e374ef186","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.3.0_1776673192243_0.947652765619085","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@airtasystems/ailp","version":"0.2.6","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.2.6","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"29d3efe5189a550023a509657c545a3006ded7ab","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.2.6.tgz","fileCount":26,"integrity":"sha512-hFWJHqWRQwQ4hxNypAJXauurcRAAjkunpKAGFOGbg7T0E/lqQ0k/KcgSVBrPAD6YhRtKdEuVg0E6Uj8aQrV9eQ==","signatures":[{"sig":"MEUCIQD++fIzWvN8bLaWtf1LCnLpH6BgjyOtsPw+x/GMtvQB1QIgGyP/9ld3mVAhINfs7h9TnH9TL2F9Q3PILYkWNiXp4jQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49090},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"85c036df053def42fd306e8823b5b5985aadfae3","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.2.6_1776677813962_0.9532892442327607","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@airtasystems/ailp","version":"0.2.7","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.2.7","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"a4db54b0acb7d83c9f0f71992861b083556274cb","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.2.7.tgz","fileCount":26,"integrity":"sha512-ktdPfQrzMlBxS/e0AhrAN1XeT/sqUzSeRjgkAfPfc63JZjBuw35XpnLQN5L65s/mY5brx4X40XOTQp2pMmPLzg==","signatures":[{"sig":"MEUCIQDR3gPe6CM5cxgI6eoslqsgZEvOe+0OavjQLJytDo0zUgIgXAlwLmKqzbGhb/wcpp+o1vgp49Xn2jdF4TOyayjqMDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50482},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"2f7c0fc75df429557f877bad897dcbb48a22cd9e","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.2.7_1776678424012_0.05712361808905886","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@airtasystems/ailp","version":"0.3.7","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.3.7","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"b177ec376a399f7dc3bbe4c719d9b92bd17a88a8","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.3.7.tgz","fileCount":26,"integrity":"sha512-YdLjMF5dof5ZLhxev8SXxxm8sL5JfwRxoY3Fmxj9LD2TxudxdPAptRk/cjHLg+4KcxpUPfPEEqnqr+ccFrXW2w==","signatures":[{"sig":"MEUCIQDB7VxLJFjcGENQaTXl411aogsA8YGbwqiha61RFFbzgQIgAWO2N7ntJz/MBnWZt8r5NVLxQPReriKtmQannMxyF0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81139},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"db38948fcee6cdd5b0fdb31f73136252afb76589","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.3.7_1776760974416_0.5374677524973956","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@airtasystems/ailp","version":"0.3.8","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.3.8","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"d954aeceb600f89a3e72fd34d75c8000f89946dd","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.3.8.tgz","fileCount":26,"integrity":"sha512-lTJNo7BZNUVFbLb8lVJIwfwscblPTTdpNbqoQqGDvszxdQdXeZfBNpqofBm4qkJv2vXF7BdiyWni5R94HpFEvg==","signatures":[{"sig":"MEQCIEbPYMtYpepc3ANOtFNDFyryXJaU3hIw4CI5/6GUxyWCAiA0YufDdBkjEio6n7dBnAtdBPxl1KQcWb2GAAxiRuUmSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82438},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"d0b9359c3c258ade39813f45d188b95b56840d4b","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.3.8_1776763680955_0.4612306981710843","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@airtasystems/ailp","version":"0.3.9","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@0.3.9","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"c380000589f9ec4e26085b92152939654675d167","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-0.3.9.tgz","fileCount":30,"integrity":"sha512-VidhwmPVNU972yllzlZ8WU1S4SkvQCZlnAVu+o4ephvTdoR6NqNEE255QQCNpxmBCEUxFIqo/zGfHdwEXGjnSQ==","signatures":[{"sig":"MEUCIQDratkK+47L7kMnxDhH0buRS915Fyq+6FbiSWXMY8OZSAIgBlHJjR1iGFeo4ZJXZyXlg4aeKALkI5o0xbnfjBF4Pvo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"8a01e69f392ee1fd29385df37ab832f60848df11","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_0.3.9_1776766349910_0.4393174487017262","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@airtasystems/ailp","version":"3.0.0","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.0","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"73f4689398d5b3b360a2d27ce73f787d94f4a904","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.0.tgz","fileCount":30,"integrity":"sha512-WL0G53Pzme+dFXLYpne3uhz7GZwR3l333U3gbbliDeNg8OrOisaytfsnBF8K9tI+6pQFDM0eCGjXnwHPxFhiuw==","signatures":[{"sig":"MEQCICZJuwEEhldqdA/688A/lvzlO+7tyS7REFlThrconJJDAiA6hNW/1+sMRc4tVfLz4lNajbeiHfCSN1ON48W6hxMezg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"37d562ec16e502218b108c8a24cceba219c653e4","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.0_1776942894987_0.9106457474402407","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@airtasystems/ailp","version":"3.0.1","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.1","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"7fa67fadcd625e39288f895c154ab2d509c4b0bf","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.1.tgz","fileCount":30,"integrity":"sha512-jQtNgl2SwpiojEiqiezKzMyz1uqofFxesSgiRqb1U/+e04y0S6m1F+qJBS9uW+TL4bgqH2R+r6ISRl70uq6+0A==","signatures":[{"sig":"MEUCIQDR2oWGLlFrR7ndEOaQCw5HfFEGX6M+hohvDgBQ6wZEtwIgX8ehPes/UM/f9UbKfDB47qRvThx4pQCnOYELP6innho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92424},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"6968c105d40c567af1fe0732e064d5e765245cd7","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.1_1776943186101_0.27147423088128875","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@airtasystems/ailp","version":"3.0.2","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.2","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"d33507b004cc15672d7bac7a985150992ce551a9","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.2.tgz","fileCount":30,"integrity":"sha512-17Tmo3HFj8uwmEGC+5wT8DAsgY47lNgWU3UHMkTbfzKvrPg5h96Ku9UhYkzQAVIXbpNpC0XeiQfSk2/QGZE4JA==","signatures":[{"sig":"MEYCIQCt//1IYix1TTxYrSk2i+ZlBzVD8LMgGTlAnC2GNvCp3wIhAL69gFbYrC+GWfa46/fFJ54EYu37vM1k881Hiy+rWF53","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92424},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"e4f56f788ace500483cee1487ccc796183ecf553","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.2_1776943467496_0.10105641048349834","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@airtasystems/ailp","version":"3.0.3","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.3","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"ed12c5bede50592b914c2c3a6ac4cdae7ef27282","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.3.tgz","fileCount":30,"integrity":"sha512-Uh4DIBVlDIqb8SWFyI1ZUqd4srRJrPKH6f0NZayRAIjPk0PhzsTIiMKeQLV/phdfn/Di3ORZZirg0LKLrotm1A==","signatures":[{"sig":"MEUCIB71E76G+zu4pewXwoOali68fYwYe11RWyEKCBfqT3/pAiEAsLyxspEEnWz14mspL+T3RWcX/Ugsc6yoUA+2qgqppyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92693},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"277a81a29e0fec807072dd132a03e027caf4e3a8","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.3_1777189840982_0.840033545108511","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@airtasystems/ailp","version":"3.0.4","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.4","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"00fecaf7240e05a55b4a54b525ef679c70b09e70","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.4.tgz","fileCount":30,"integrity":"sha512-MdEsHPNL2qNbCPiKCc3heTec2rCMf0emxZcrzXuwVnbZ5LAq56NrNfba6Di/drR/bjPJG+/RELr1h8WaN7haIg==","signatures":[{"sig":"MEUCIQCa/fzwFZCQ7C6nGlpaT/LknSizjax7Z4ViXwZK+c0ERAIgd4ceMr2+KfyFPhCOMK/uWoHwZRCKiJLOaD7/Tg2AiEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93011},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"1c6df23d0b8c2cc44beea1a0d8cfa9ff7d151540","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.4_1777190159996_0.08197632930423948","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"@airtasystems/ailp","version":"3.0.5","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.5","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"7b92e0b86a70c42695fd0459ccb3e83cd1bc4eb0","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.5.tgz","fileCount":30,"integrity":"sha512-YJ7/1ojFgiJfU9M8o9Vqc0+vW2PB4Siv5LoxoEB1b8PBFozmczKUBzeb/5We7MtqLKFwS39+MfEOvi3qZeBddw==","signatures":[{"sig":"MEUCIQCwKrpHGL49H3r0cod22wcl414T2+fFAxFmhwQ+bug1/AIgWbGhUBWa/e3ybKrq9LFEKz+7JrpWpb5szcw1UyW8up4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97394},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"a765c3ed274a323376157bf777da6d77f3274225","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.5_1777191540681_0.8873899180954492","host":"s3://npm-registry-packages-npm-production"}},"3.0.6":{"name":"@airtasystems/ailp","version":"3.0.6","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.6","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"9687a5b523e80a90592b423ec68af445f4857b42","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.6.tgz","fileCount":30,"integrity":"sha512-TyXoRFU0ZAFA+E4evubt2AjDne/DRU+sfWA7KtfYd1jmUk+M9JJK87KCquF2h00Vk22jIP1MjpafDOpdI5r5Tg==","signatures":[{"sig":"MEUCIQCHL8hbsdbGvBfMyfkjtkE89N2BMFB6iKJuH9WP3NRn8gIgevtl1zHZLfY4+vDJWwq/1IL04TMEZ/0TySeWvyNItC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97394},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"23219a061bf0ffa3c438da19e9944b682b5efe15","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.6_1777191575955_0.40549112497328244","host":"s3://npm-registry-packages-npm-production"}},"3.0.7":{"name":"@airtasystems/ailp","version":"3.0.7","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.7","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"c74f0c5a99d8e325881f4614200db346ffe66765","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.7.tgz","fileCount":30,"integrity":"sha512-VSAMa63PdPNp+TqDlAjevzdl2JgziGNA6EhNd74Vkr9xG++N4DGLlWydI3VviMHYThjUuWVH4v3yumPt3df33A==","signatures":[{"sig":"MEQCIF3/Cg60EhfKZ6YLejtWR4IKZ1uLa04JZpglvy/wKRBGAiB1MLhXqkLW0qoTw1PooFkbhk4AaSqSWcJJSK+GwS2zUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98564},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"837cbf8464dd9769eae035ae0afd35a887f91117","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.7_1777192126677_0.3934584938562644","host":"s3://npm-registry-packages-npm-production"}},"3.0.8":{"name":"@airtasystems/ailp","version":"3.0.8","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.8","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"262e759c94a5b3a5180cd09858815c01beed9300","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.8.tgz","fileCount":30,"integrity":"sha512-EEVdTmKvBNxmJvibhEjHJUNcNmX/Z3IYzjc0e/tbMDES70dO5jXb5L0hszu9+ndg2Rp4K7/xFXbLh88b+NEspw==","signatures":[{"sig":"MEUCIBZLSzqW2rInSRYTwVQfv7tscZ2I+AWBeg2UV1F2Gzv+AiEAilfNkU2dJD2YUEllyzr8uwj0eRI/CNGOflvkt2XXQCM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108716},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"06ef28ca5ac61464af0c6f395068fffd71e20554","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.8_1777234927867_0.9917627976744923","host":"s3://npm-registry-packages-npm-production"}},"3.0.9":{"name":"@airtasystems/ailp","version":"3.0.9","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.9","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"0ba4b8682f2c39160e7b7f8ab5c015226d85db25","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.9.tgz","fileCount":30,"integrity":"sha512-kEFYiFdZfxHoURF31+xIPGlYKJsteQ+Tjxl5RkZ2vR09oNlKgUtD3YfdS4ltwHGCwjJ9+Ix9UYFRgAVpfy6a0g==","signatures":[{"sig":"MEYCIQCK2Lcth3Rr/JUctO0WbLln7StK1Fl5j63++UQx+Dz+YwIhAP2hn154Ebc79Sn6C5G4qsjMWQwHXSwjeHEeOKM7mLRa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109773},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"5b551d9f4f7bd3758df77f819c00902f99ebfa0a","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.9_1777548811232_0.9238742495958592","host":"s3://npm-registry-packages-npm-production"}},"3.0.10":{"name":"@airtasystems/ailp","version":"3.0.10","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@3.0.10","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"a47f6af8ddda3da77c5762162f4eed4ff31b0f0e","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-3.0.10.tgz","fileCount":30,"integrity":"sha512-tlFqMLEiqrj0znHwKalMT29J3el+LavMBvGPkFz+nUaIltR5CB6jrxmQASAgGqvEg3Ewsb97LUXwKW89j8XhzA==","signatures":[{"sig":"MEQCIFPH+jtlGECVvG4L5tZMMNsoiuNNiidWJQWoiGg39H+RAiAwnpMNwpVR9ElhyBzNel2neY+x0cd1sMLSzrUGXkpfFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110598},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"e52fcc91c6af2f477e10c143fe3ce50a89273aed","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.4","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_3.0.10_1777550475542_0.939337253493796","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@airtasystems/ailp","version":"4.0.0","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","_id":"@airtasystems/ailp@4.0.0","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"homepage":"https://github.com/airtasystems/ailp","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"dist":{"shasum":"67fccb2bf4d124a8bc23c5794de7c6414d99338b","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-4.0.0.tgz","fileCount":30,"integrity":"sha512-AeQ8WvTzB/3sGVyOENMzaKpmDVRAuScMVOob1fXlpHmV5nbUoAuuFTcem+Us99pLe62A3C1QS3JOnMxNaMt3QA==","signatures":[{"sig":"MEQCIBE8+23aCMXgrAV5nw1gWYAuIJn0UUKH01ZilOKbV/faAiAxWI+y9oBu0pLI9VG4aQ834zD62UloxxkqEGTv8Ul9rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111451},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"gitHead":"9ff5164aab2e72f214495025957fa58b15f74222","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"repository":{"url":"git+https://github.com/airtasystems/ailp.git","type":"git"},"_npmVersion":"10.9.7","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ailp_4.0.0_1779282317930_0.2849437181615022","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@airtasystems/ailp","version":"5.0.0","description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./react":{"import":"./dist/react.js","types":"./dist/react.d.ts"}},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc","dev":"tsc --watch","prepublishOnly":"npm run build"},"keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"license":"MIT","engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git+https://github.com/airtasystems/ailp.git"},"homepage":"https://github.com/airtasystems/ailp","publishConfig":{"access":"public"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"devDependencies":{"@types/node":"^20.0.0","@types/react":"^18.0.0","typescript":"^5.0.0"},"gitHead":"0326215e8390b51b81728aa836b833df68bca6a8","_id":"@airtasystems/ailp@5.0.0","bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-v5ZSTQSOrwn3P3QKpgeJqXlfnWbMBreFlDnVGv0g4KWPQPyMeLn15O1zaoW/SJAEuXgubvFtih2QyXF9wDQoDA==","shasum":"d615dd6ff4fc70a76c0102891c44268a667b9324","tarball":"https://registry.npmjs.org/@airtasystems/ailp/-/ailp-5.0.0.tgz","fileCount":30,"unpackedSize":110296,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDrqFOJ2zlK/yjgwYJLkcWogxSg+0WVZNg6hfqpqqlamwIhAKCv9Yq3RCazrD2CxB0I6VwXYB+klUqQieL9+auLHUi2"}]},"_npmUser":{"name":"airtasystems","email":"admin@airtasystems.com"},"directories":{},"maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ailp_5.0.0_1780560800063_0.009707378896483876"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T08:14:57.892Z","modified":"2026-06-04T08:13:20.328Z","0.2.5":"2026-04-17T08:14:58.149Z","0.3.0":"2026-04-20T08:19:52.385Z","0.2.6":"2026-04-20T09:36:54.093Z","0.2.7":"2026-04-20T09:47:04.168Z","0.3.7":"2026-04-21T08:42:54.550Z","0.3.8":"2026-04-21T09:28:01.087Z","0.3.9":"2026-04-21T10:12:30.075Z","3.0.0":"2026-04-23T11:14:55.130Z","3.0.1":"2026-04-23T11:19:46.242Z","3.0.2":"2026-04-23T11:24:27.633Z","3.0.3":"2026-04-26T07:50:41.122Z","3.0.4":"2026-04-26T07:56:00.179Z","3.0.5":"2026-04-26T08:19:00.820Z","3.0.6":"2026-04-26T08:19:36.102Z","3.0.7":"2026-04-26T08:28:46.810Z","3.0.8":"2026-04-26T20:22:08.085Z","3.0.9":"2026-04-30T11:33:31.378Z","3.0.10":"2026-04-30T12:01:15.697Z","4.0.0":"2026-05-20T13:05:18.071Z","5.0.0":"2026-06-04T08:13:20.224Z"},"bugs":{"url":"https://github.com/airtasystems/ailp/issues"},"license":"MIT","homepage":"https://github.com/airtasystems/ailp","keywords":["ai","llm","compliance","risk-assessment","logging","openai","eu-ai-act","owasp","nist"],"repository":{"type":"git","url":"git+https://github.com/airtasystems/ailp.git"},"description":"TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.","maintainers":[{"name":"airtasystems","email":"admin@airtasystems.com"}],"readme":"# @airtasystems/ailp\n\n**LLM log visibility and risk assessment** — a thin **`fetch`** client for the **AILP** (AI Log Protocol) HTTP API. It runs in **Node 18+**, browsers, workers, and edge runtimes that provide native `fetch`. No extra HTTP dependencies.\n\nSet **`baseUrl`** to your AILP deployment origin (no trailing slash). The client appends **`/health`**, **`/assess`**, and **`/assess/stream`** to that base. Examples: self-hosted **`http://127.0.0.1:8000`**, or AIRTA hosted **`https://airtasystems.com/ailp`**.\n\nIf you omit **`baseUrl`**, the client uses **`AILP_DEFAULT_BASE_URL`** (`https://airtasystems.com/ailp`). For production, set **`baseUrl`** explicitly to your deployment.\n\nFor normal product traffic, call AILP as **fire-and-forget telemetry** after your product LLM returns. Do not await AILP before sending the assistant response to the user unless your application intentionally gates on the risk verdict.\n\nThe HTTP contract (headers, log entry shape, streaming events) is described in the **[AILP server README](../README.md)**. Additional integration notes: **[integrating-airta-ailp-client.md](../integrating-airta-ailp-client.md)**.\n\n**Stable 5.x release.** Follows semver — breaking changes will bump the major version.\n\n---\n\n## Requirements\n\nEvery assess call needs **two AIRTA credentials** from your program:\n\n| Credential | Header sent | Option / env |\n|------------|-------------|--------------|\n| **AILP API key** | `Airta-Api-Key` | `apiKey` (Node) · `AILP_API_KEY` · `NEXT_PUBLIC_AILP_API_KEY` / `VITE_AILP_API_KEY` (React) |\n| **Program ID** | `Airta-Program-Id` | `programId` (Node) · `AILP_PROGRAM_ID` · `AIRTASYSTEMS_PROGRAM_ID` · `NEXT_PUBLIC_AIRTASYSTEMS_PROGRAM_ID` / `VITE_AIRTASYSTEMS_PROGRAM_ID` (React) |\n\nKeep both in server-side env vars for production. The server rejects requests missing either header with HTTP 400.\n\nProvider keys (`geminiApiKey` / `openaiApiKey`) are needed when you set **`provider`** / **`expertProvider`** / **`judgeProvider`** explicitly or when your hosted API program requires client-supplied pipeline keys. The client sends both hosted headers (**`Gemini-Api-Key`** / **`OpenAI-Api-Key`**) and compatibility headers (**`X-Gemini-Api-Key`** / **`X-OpenAI-Api-Key`**) when those keys are provided.\n\n---\n\n## Install\n\n```bash\nnpm install @airtasystems/ailp\n```\n\nThe package is **ESM** (`\"type\": \"module\"`). Import from **`@airtasystems/ailp`**; React helpers from **`@airtasystems/ailp/react`** (optional peer **`react`**).\n\n---\n\n## What you send and what you get\n\n**Send:** With **`createAilp()`**, pass an array of **`{ role, content }`** messages (the conversation you sent to your LLM) and the **final assistant text** (`output`) from that model. The client builds a flat AILP log entry and posts it directly to the API. The hosted server validates **`airta_import: 1`** as a numeric import flag alongside the normal top-level log fields.\n\n**Receive:** An **`AilpAssessResponse`** including:\n\n| Field | Meaning |\n|-------|---------|\n| **`risk_level`** | Overall verdict (most severe finding across frameworks). |\n| **`judge_reasoning`** | Judge synthesis string. |\n| **`experts`** | One result per framework expert (`framework`, `risk_level`, `reasoning`). |\n| **`frameworks`** | Resolved display names for the rubrics that ran. |\n| **`assessment`** | Which vendor/models AILP used internally (**`expertProvider`**, **`judgeProvider`**, **`expertModel`**, **`judgeModel`**; legacy **`provider`** is **`\"mixed\"`** when sides differ). |\n| **`log`** | Echo of the submitted entry. **`input.messages[*].content`** and **`output`** come back with PII/PHI placeholders substituted (see \"Server-side redaction\" below); all other fields echo verbatim. |\n| **`assessmentMode`** | Server-normalized mode. Defaults to **`\"response_safety\"`**. |\n| **`requestRiskLevel`** | Optional request-security risk level. Present only when request security is enabled; it does **not** affect **`risk_level`**. |\n| **`requestRiskReasoning`** | Optional explanation for the request-security side assessment. |\n| **`requestSecurityExperts`** | Optional OWASP LLM, OWASP Agentic, and MITRE ATT&CK expert results for the request-security side assessment. |\n\nThe **`model`** you attach (via `createAilp`’s third argument or a full **`AilpLogEntry`**) describes the **audited** model. The models used **inside** AILP for experts and judge come from **`provider`** / **`expertProvider`** / **`judgeProvider`** and server configuration — not from your product model name.\n\n---\n\n## Server-side redaction\n\nAILP redacts PII/PHI in **`input.messages[*].content`** and **`output`** at ingress, before any LLM sees the data. Detected entities are replaced with numbered placeholders like **`<PERSON_1>`**, **`<EMAIL_ADDRESS_1>`**, **`<DATE_TIME_1>`**, **`<CUSTOMER_ID_1>`**, **`<MRN_1>`**. This means:\n\n- The **`log`** field on the response carries the redacted text, not what you sent. If you need the raw content for your own correlation or storage, keep your original strings — don't round-trip them through AILP.\n- The **`experts[*].reasoning`** and **`judge_reasoning`** strings only ever reference placeholders, so downstream UIs that render them are safe to display without further scrubbing.\n- Redaction is enabled by default on the hosted deployment and on any self-hosted AILP built from the current Dockerfile. Self-hosters can tune the entity set or swap the NER model via **`AILP_REDACT_*`** env vars on the server — see the [AILP server README](https://github.com/airtasystems/ailp/blob/main/README.md#ingress-piiphi-redaction).\n\nNothing in the client needs to change for redaction to work — it happens server-side before the message hits any rubric.\n\n---\n\n## Quick start (`createAilp`)\n\nConfigure once against your **self-hosted** server, then call the returned function after each LLM response without blocking the user-facing path:\n\n```typescript\nimport { createAilp } from \"@airtasystems/ailp\";\n\nconst ailp = createAilp({\n  baseUrl: \"http://127.0.0.1:8000\",\n  apiKey: process.env.AILP_API_KEY!,\n  programId: process.env.AILP_PROGRAM_ID!,\n  frameworks: [\"eu-ai-act\", \"owasp-llm\"],\n  openaiApiKey: process.env.OPENAI_API_KEY,\n  geminiApiKey: process.env.GEMINI_API_KEY,\n});\n\nvoid ailp(messages, assistantText, { model: \"gpt-4o-mini\" })\n  .then((result) => {\n    console.log(\"AILP risk:\", result.risk_level);\n  })\n  .catch((err) => {\n    console.warn(\"AILP assessment failed:\", err);\n  });\n```\n\nOptional third argument per call: **`{ model?, endpoint? }`** to record which model produced the output and an optional endpoint label.\n\nFire-and-forget should still be observable: attach a `.catch(...)`, use a short **`timeoutMs`**, and send failures to your logs or telemetry. If assessment completeness is a compliance requirement, enqueue the assessment into a durable background worker rather than relying on an in-process promise.\n\nTo also classify the incoming request against security frameworks (OWASP LLM, OWASP Agentic, and MITRE ATT&CK) without changing the response-based **`risk_level`**, enable request security:\n\n```typescript\nconst ailp = createAilp({\n  baseUrl: \"http://127.0.0.1:8000\",\n  apiKey: process.env.AILP_API_KEY!,\n  programId: process.env.AILP_PROGRAM_ID!,\n  frameworks: [\"owasp-llm\", \"owasp-agent\", \"mitre-attack\"],\n  assessmentMode: \"response_safety_with_request_security\",\n});\n\nvoid ailp(messages, assistantText)\n  .then((result) => {\n    console.log(result.risk_level); // response safety verdict\n    console.log(result.requestRiskLevel); // independent request security verdict\n  })\n  .catch((err) => {\n    console.warn(\"AILP assessment failed:\", err);\n  });\n```\n\nYou can also use the compact alias **`security: true`** globally or per call:\n\n```typescript\nvoid ailp(messages, assistantText, { security: true }).catch((err) => {\n  console.warn(\"AILP assessment failed:\", err);\n});\n```\n\nAwait the result only when the application needs to make a synchronous decision from the verdict, such as moderation gates, admin review tools, eval/CI runs, or compliance workflows:\n\n```typescript\nconst result = await ailp(messages, assistantText);\n\nif (result.risk_level === \"critical\" || result.risk_level === \"high\") {\n  await notifyComplianceTeam(result);\n}\n```\n\n**Omit `provider`** if your AILP server is configured to choose the expert/judge pipeline itself. Still pass **`openaiApiKey`** and/or **`geminiApiKey`** when your hosted program requires client-supplied pipeline keys; the client will forward any non-empty keys even when **`provider`** is omitted. If you **do** set **`provider`** (or **`expertProvider`** / **`judgeProvider`**), supply the matching key so the client can send **`Gemini-Api-Key`** / **`OpenAI-Api-Key`** plus the **`X-*-Api-Key`** compatibility variants.\n\n### `createAilp` options\n\n| Option | Purpose |\n|--------|---------|\n| **`apiKey`** | **Required.** AIRTA API key for your program. Sent as **`Airta-Api-Key`**. |\n| **`programId`** | **Required.** AIRTA program ID. Sent as **`Airta-Program-Id`** and echoed under **`airtasystems.programId`**. |\n| **`frameworks`** | **Required.** One slug or an array (see table below). |\n| **`baseUrl`** | AILP origin (e.g. **`http://127.0.0.1:8000`** or **`https://airtasystems.com/ailp`**). Omit to use **`AILP_DEFAULT_BASE_URL`** (`https://airtasystems.com/ailp`). |\n| **`provider`** | **`\"gemini\"`** \\| **`\"openai\"`** — same vendor for experts and judge when split fields omitted. Omit to let the server default. |\n| **`expertProvider`** / **`judgeProvider`** | Split vendors; send both API keys when both sides need them. |\n| **`geminiApiKey`** / **`openaiApiKey`** | Mapped to **`Gemini-Api-Key`** / **`OpenAI-Api-Key`** and **`X-Gemini-Api-Key`** / **`X-OpenAI-Api-Key`**. When all provider fields are omitted, non-empty keys may both be sent so mixed server configs still authenticate. |\n| **`assessmentMode`** | Optional. Use **`\"response_safety_with_request_security\"`** to include OWASP request-risk fields while keeping **`risk_level`** response-based. |\n| **`security`** | Optional boolean alias for request-security mode. |\n| **`timeoutMs`** | Optional **`fetch` timeout** for assess calls. |\n\n`createAilp()` throws synchronously if **`apiKey`** or **`programId`** is missing or empty — fail fast at boot rather than per request.\n\nExport **`AILP_DEFAULT_BASE_URL`** when you need the constant in app code.\n\n---\n\n## Setup Guide for LLMs\n\nWhen an LLM or coding agent is asked to integrate AILP into a JavaScript/TypeScript app, follow this checklist:\n\n1. Install the package:\n\n```bash\nnpm install @airtasystems/ailp\n```\n\n2. Set **`baseUrl`** to the user’s AILP origin (no trailing slash), e.g. self-hosted **`http://127.0.0.1:8000`** or hosted **`https://airtasystems.com/ailp`**. Omit **`baseUrl`** only when **`AILP_DEFAULT_BASE_URL`** is correct.\n\nDo not append `/assess` yourself when using **`createAilp()`** or **`AilpClient`**; the client appends **`/health`**, **`/assess`**, or **`/assess/stream`**.\n\n3. Require these app secrets:\n\n```bash\nAILP_BASE_URL=http://127.0.0.1:8000   # or https://airtasystems.com/ailp for AIRTA hosted\nAILP_API_KEY=...\nAILP_PROGRAM_ID=...\nOPENAI_API_KEY=...   # when the server pipeline uses OpenAI\nGEMINI_API_KEY=...   # when the pipeline uses Gemini\n```\n\nDo not assume provider keys are unnecessary just because **`provider`** is omitted. Some hosted AILP programs choose the provider server-side but still require the matching client-supplied key. If the server returns **`Missing OpenAI API key. Send it in the OpenAI-Api-Key request header.`**, pass **`openaiApiKey: process.env.OPENAI_API_KEY`**. If it asks for Gemini, pass **`geminiApiKey: process.env.GEMINI_API_KEY`**.\n\n4. Prefer **`createAilp()`** for normal integrations:\n\n```typescript\nimport { createAilp } from \"@airtasystems/ailp\";\n\nconst ailp = createAilp({\n  baseUrl: process.env.AILP_BASE_URL ?? \"http://127.0.0.1:8000\",\n  apiKey: process.env.AILP_API_KEY!,\n  programId: process.env.AILP_PROGRAM_ID!,\n  frameworks: [\"eu-ai-act\", \"owasp-llm\"],\n  openaiApiKey: process.env.OPENAI_API_KEY,\n  geminiApiKey: process.env.GEMINI_API_KEY,\n});\n\nvoid ailp(messages, assistantText, {\n  model: \"gpt-4o-mini\",\n  endpoint: \"chat-completion\",\n}).catch((err) => {\n  console.warn(\"AILP assessment failed:\", err);\n});\n```\n\n5. Send the original LLM conversation as **`messages`** and the final assistant text as **`assistantText`**. Do not send the AILP assessment prompt, hidden system policy text, or provider SDK response object unless the application intentionally wants that audited.\n\n6. For raw **`fetch`** integrations, post a flat JSON body to **`POST /assess`**. Do not wrap it as **`{ airta_import: entry }`**. The hosted API expects:\n\n```js\n{\n  airta_import: 1,\n  timestamp: new Date().toISOString(),\n  input: { messages, endpoint: \"chat-completion\" },\n  output: assistantText,\n  modelTested: \"gpt-4o-mini\",\n  framework: [\"eu-ai-act\", \"owasp-llm\"],\n  assessmentMode: \"response_safety_with_request_security\",\n  airtasystems: {\n    programId: process.env.AILP_PROGRAM_ID,\n    frameworks: [\"eu-ai-act\", \"owasp-llm\"],\n  },\n}\n```\n\n7. For raw **`fetch`** headers, include:\n\n| Header | Value |\n|--------|-------|\n| **`Content-Type`** | **`application/json`** |\n| **`Airta-Api-Key`** | AILP API key |\n| **`Airta-Program-Id`** | AIRTA Systems program ID |\n| **`OpenAI-Api-Key`** / **`Gemini-Api-Key`** | Provider key requested by the hosted AILP pipeline; include the available key even if provider selection is server-side |\n| **`X-OpenAI-Api-Key`** / **`X-Gemini-Api-Key`** | Compatibility variant; safe to send with the non-`X` header |\n\n8. In browser apps, prefer a server route or proxy for production. **`NEXT_PUBLIC_*`** and **`VITE_*`** values are visible to users, so never expose production LLM provider keys in a public bundle.\n\n9. If the API returns HTTP 400, print or log the JSON response body. Validation errors usually name the missing header, missing field, or bad request shape.\n\n## `AilpClient` (full control)\n\n```typescript\nimport { AilpClient, AILP_DEFAULT_BASE_URL } from \"@airtasystems/ailp\";\n\nconst client = new AilpClient({\n  baseUrl: AILP_DEFAULT_BASE_URL,\n  timeoutMs: 120_000,\n  headers: { /* optional extra headers on every request */ },\n});\n\nconst auth = {\n  apiKey: process.env.AILP_API_KEY!,\n  programId: process.env.AILP_PROGRAM_ID!,\n  geminiApiKey,\n  openaiApiKey,\n};\n\nawait client.health(); // GET /health -> boolean\nvoid client.assess(entry, auth).catch((err) => {\n  console.warn(\"AILP assessment failed:\", err);\n});\nawait client.assessStream(entry, auth, { onEvent });\n```\n\n- **`assess`** — sends the **`AilpLogEntry`** as a flat **`POST /assess`** body and returns the full **`AilpAssessResponse`**. Use it as non-blocking telemetry by default; await only for explicit gating or back-office workflows. Use **`airta_import: 1`** for hosted import-mode requests.\n- **`assessStream`** — sends the **`AilpLogEntry`** as a flat **`POST /assess/stream`** body and reads NDJSON until **`done`**. Same final shape as **`assess`**. Use streaming for operator/admin progress UIs, not default production chat paths.\n- Non-2xx responses throw **`AilpError`** with **`status`** and **`body`**. A **400** mentioning **`Airta-Api-Key`** or **`Airta-Program-Id`** means the server rejected the request for missing auth.\n\nThe **`AilpAssessHeaders`** passed to **`assess`** / **`assessStream`** accepts **`apiKey`**, **`programId`**, **`geminiApiKey`**, and **`openaiApiKey`**. Use **`buildProviderAuthHeaders(entry, auth)`** if you build **`fetch`** yourself — it produces the correct **`Airta-*`**, provider-key, and **`X-*-Api-Key`** compatibility header set.\n\n**Proxied streams:** **`readAilpAssessNdjsonStream(response.body, onEvent)`** parses **`POST /assess/stream`** from any **`fetch`** (for example your own Next.js route).\n\n### Streaming events (`event` field)\n\nSame contract as the server:\n\n| `event` | Purpose |\n|---------|---------|\n| **`meta`** | Framework list + **`assessment`** metadata. |\n| **`cached`** | Result served from server disk cache. |\n| **`phase`** | **`experts`** or **`judge`** — UI hints during long LLM gaps. |\n| **`expert`** | One expert payload (may include **`expert_id`**). |\n| **`judge`** | Judge progress (**`risk_level`**, **`reasoning_preview`**). |\n| **`request_security`** | Optional request-security side assessment progress (**`risk_level`**, **`reasoning_preview`**). |\n| **`done`** | Final payload — same keys as **`assess`**. |\n| **`error`** | Terminal failure (**`detail`**). |\n\nTypes: **`AilpAssessStreamEvent`**, **`AilpAssessStreamExpertPayload`**, **`AilpAssessStreamOptions`**.\n\n---\n\n## Works with any LLM provider\n\nPass through **`messages`** and the **string output** from OpenAI, Anthropic, Gemini, or a custom stack:\n\n```typescript\nconst response = await openai.chat.completions.create({ model, messages });\nconst text = response.choices[0]?.message?.content ?? \"\";\nvoid ailp(messages, text).catch((err) => {\n  console.warn(\"AILP assessment failed:\", err);\n});\n```\n\n---\n\n## Fire-and-forget wrappers\n\nAssessment runs **after** your LLM returns; failures are logged, not thrown (unless your LLM call fails).\n\n**OpenAI-shaped chat API:**\n\n```typescript\nimport { wrapOpenAI, AilpClient, AILP_DEFAULT_BASE_URL } from \"@airtasystems/ailp\";\n\nconst client = new AilpClient({ baseUrl: AILP_DEFAULT_BASE_URL });\n\nconst response = await wrapOpenAI(\n  (p) => openai.chat.completions.create(p),\n  { model: \"gpt-4o-mini\", messages },\n  {\n    client,\n    apiKey: process.env.AILP_API_KEY!,\n    programId: process.env.AILP_PROGRAM_ID!,\n    frameworks: [\"eu-ai-act\"],\n    provider: \"gemini\",\n    geminiApiKey: process.env.GEMINI_API_KEY,\n    onAssess: (result) => console.log(\"Risk:\", result.risk_level),\n  },\n);\n```\n\n**Any async LLM function:** **`wrapLlmCall(fn, params, { client, apiKey, programId, frameworks, extractOutput, messages, ... })`**. Both **`apiKey`** and **`programId`** are required.\n\n---\n\n## React (`@airtasystems/ailp/react`)\n\nKeeps **`react`** out of the main bundle.\n\n### `useAilp()` — recommended\n\nMemoized **`createAilp`** + **`assess`** / **`result`** / **`loading`** / **`error`** / **`reset`**. Reads **Next.js** **`NEXT_PUBLIC_*`** or **Vite** **`VITE_*`** when options are omitted. Throws synchronously on the first render if **`apiKey`** or **`programId`** is missing — wrap in an error boundary if you want a graceful fallback.\n\nUse the React hook for panels or tools that intentionally display AILP progress/results. For production chat paths, prefer a server route or background worker that calls AILP as fire-and-forget telemetry.\n\n```tsx\nimport { useAilp } from \"@airtasystems/ailp/react\";\n\nfunction Panel() {\n  const { assess, result, loading, error } = useAilp();\n\n  async function run(messages: { role: string; content: string }[], output: string) {\n    await assess(messages, output);\n  }\n\n  return (\n    <>\n      {loading && <p>Assessing…</p>}\n      {error && <p>{error.message}</p>}\n      {result && <p>Risk: {result.risk_level}</p>}\n    </>\n  );\n}\n```\n\nEach **`assess`** clears the previous **`result`** and **`error`** before the new request. **`reset()`** clears UI state without assessing.\n\n### Environment variables (browser)\n\nOverride any field by passing **`useAilp({ ... })`** instead of relying on env.\n\n| Variable | Role |\n|----------|------|\n| **`NEXT_PUBLIC_AILP_API_KEY`** / **`VITE_AILP_API_KEY`** | **Required.** AILP API key for your program. |\n| **`NEXT_PUBLIC_AIRTASYSTEMS_PROGRAM_ID`** / **`VITE_AIRTASYSTEMS_PROGRAM_ID`** | **Required.** Program ID. |\n| **`NEXT_PUBLIC_AILP_BASE_URL`** / **`VITE_AILP_BASE_URL`** | AILP origin (e.g. **`https://airtasystems.com/ailp`**). Omit for **`AILP_DEFAULT_BASE_URL`**. |\n| **`NEXT_PUBLIC_AILP_PROVIDER`** / **`VITE_AILP_PROVIDER`** | Omit so the **server** picks pipeline and keys. Set **`gemini`** or **`openai`** only when the browser must send provider API key headers. |\n| **`NEXT_PUBLIC_GEMINI_API_KEY`** / **`VITE_GEMINI_API_KEY`** | Required when provider (or split experts/judge) uses Gemini. |\n| **`NEXT_PUBLIC_OPENAI_API_KEY`** / **`VITE_OPENAI_API_KEY`** | Required when provider (or split experts/judge) uses OpenAI. |\n| **`NEXT_PUBLIC_AILP_FRAMEWORKS`** / **`VITE_AILP_FRAMEWORKS`** | Comma-separated or JSON array; default **`eu-ai-act`**. |\n\n**Security:** **`NEXT_PUBLIC_*`** / **`VITE_*`** values ship to the browser. Treat **`NEXT_PUBLIC_AILP_API_KEY`** as a scoped credential — use a program ID dedicated to browser traffic, and never put production LLM provider keys in public env vars. For sensitive deployments, call AILP from a **server route** or proxy and keep both the AILP key and LLM keys in private env vars.\n\n### `useAssess(ailp)`\n\nIf you already have an **`AilpFn`** from **`createAilp()`**:\n\n```tsx\nimport { createAilp } from \"@airtasystems/ailp\";\nimport { useAssess } from \"@airtasystems/ailp/react\";\n\nconst ailp = createAilp({\n  apiKey: process.env.AILP_API_KEY!,\n  programId: process.env.AILP_PROGRAM_ID!,\n  frameworks: [\"eu-ai-act\"],\n  geminiApiKey: process.env.GEMINI_API_KEY,\n});\nconst { assess, result, loading, error } = useAssess(ailp);\n```\n\n---\n\n## Framework slugs\n\nHyphen and underscore variants are accepted where listed.\n\n| Slug(s) | Framework |\n|---------|-----------|\n| `eu_ai_act` / `eu-ai-act` | EU AI Act |\n| `oecd` | OECD AI Principles (server default if none selected) |\n| `owasp_llm` / `owasp-llm` | OWASP Top 10 for LLMs |\n| `owasp_agent` / `owasp-agent` | OWASP Top 10 for Agentic Applications |\n| `nist_ai_rmf` / `nist-ai-rmf` | NIST AI RMF |\n| `mitre_attack` / `mitre-attack` | MITRE ATT&CK |\n| `pld` | EU PLD (AI) |\n| `fria_core` / `fria-core` | FRIA Core |\n| `fria_extended` / `fria-extended` | FRIA Extended |\n\n**OWASP:** LLM and agentic experts are **separate**; include **both** slugs in **`frameworks`** if you want both lenses in one request.\n\n---\n\n## Risk levels (severity)\n\n`critical` › `high` › `medium` › `low` › `informational` › `compliant` › `indeterminate`\n\n---\n\n## Node: load `.env` before reading `process.env`\n\nNode does not load **`.env`** automatically. Use **`dotenv`** (or your host’s secrets) **before** `createAilp` so **`AILP_API_KEY`**, **`AILP_PROGRAM_ID`**, **`AILP_BASE_URL`**, and any provider keys are defined — otherwise `createAilp()` throws on start-up, or you may see **400** responses mentioning a missing **`Airta-Api-Key`**, **`Airta-Program-Id`**, **`OpenAI-Api-Key`**, or **`Gemini-Api-Key`** header.\n\n---\n\n## Troubleshooting\n\n| Symptom | What to check |\n|---------|----------------|\n| `createAilp` throws at start-up | **`apiKey`** and **`programId`** are both required. Load env (e.g. `dotenv`) before `createAilp()`. |\n| **400** — `Missing required header(s): Airta-Api-Key, Airta-Program-Id` | Pass **`apiKey`** / **`programId`** (or the corresponding env vars); values are trimmed, so whitespace-only strings are treated as missing. |\n| **400** — `Missing OpenAI API key` / `Missing Gemini API key` | Pass **`openaiApiKey: process.env.OPENAI_API_KEY`** and/or **`geminiApiKey: process.env.GEMINI_API_KEY`**. Hosted programs may require these even when **`provider`** is omitted and provider selection is server-side. |\n| **400** — bad body shape or missing import flag | Send a flat body with **`airta_import: 1`**, not **`{ airta_import: entry }`**. Include top-level **`timestamp`**, **`input`**, **`output`**, **`modelTested`**, **`framework`**, and **`airtasystems`**. |\n| Wrong server | Set **`baseUrl`** to your deployment (e.g. **`http://127.0.0.1:8000`** or **`https://airtasystems.com/ailp`**, no trailing slash). Health: **`curl https://airtasystems.com/ailp/health`**. |\n| Timeouts | Do not await AILP on the product response path. Use fire-and-forget telemetry, increase **`timeoutMs`** only for awaited workflows, or use **`assessStream`** for operator/admin progressive UI. |\n| **AilpError** | Inspect **`status`** and **`body`**; while testing raw scripts, print the response as **`JSON.stringify(result)`** so validation details are visible. |\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}