{"_id":"@digitalchokro/provider-ollama","_rev":"13-adfcbbb833aa22f8a639f312573baf25","name":"@digitalchokro/provider-ollama","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"@digitalchokro/provider-ollama","version":"1.0.0","keywords":["askchokro","ollama","ai","provider","local","free"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@1.0.0","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"2671875a9c7617ee2e00634af91c6a0c13af3b91","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-1.0.0.tgz","fileCount":4,"integrity":"sha512-xJCIhGnJqAca9GzRda35+tCrgosYnQK3zQ3hIpywStKckbt/5vYCbbOaV4e7i6b+Te22s/Q8oPdyLL3EmGm5fQ==","signatures":[{"sig":"MEUCIB+o/kdM7Wo+6SFUiMlx5CzgKOJG9eBPpZtbfUe3i/jKAiEA4MoBDdYhNXwqrfBNdN7yY0HkNeZKDCAhr1OdsE80l9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5685},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-1.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/4b3b5dcdc61a5087e1804d3f26fb353e/digitalchokro-provider-ollama-1.0.0.tgz","_integrity":"sha512-xJCIhGnJqAca9GzRda35+tCrgosYnQK3zQ3hIpywStKckbt/5vYCbbOaV4e7i6b+Te22s/Q8oPdyLL3EmGm5fQ==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.0.0"},"peerDependencies":{"@digitalchokro/core":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_1.0.0_1782998452757_0.4633906779111898","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@digitalchokro/provider-ollama","version":"1.0.1","keywords":["askchokro","ollama","ai","provider","local","free"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@1.0.1","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"e991899543237081aa0bd786da103c7cb61677ba","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-1.0.1.tgz","fileCount":4,"integrity":"sha512-4i+nf8wV5VRsbFneJ2peAAL/WqpR/bWj4fKfFY7G9L5buWHXkgSWJ2Ed8hQW3RvtDbdCoxQVa5M/GEdz6Dn8uQ==","signatures":[{"sig":"MEQCIAcZh5u6wP5YpVQUbkGhl/ZTGOT+Kn5vvnjSDyhWGfhdAiACr8uGpchNClOImeudSwjiTyVlSH7qQOX76BHt6cUipQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5685},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-1.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/4a112b41341aa808cf6ed0414508ee3c/digitalchokro-provider-ollama-1.0.1.tgz","_integrity":"sha512-4i+nf8wV5VRsbFneJ2peAAL/WqpR/bWj4fKfFY7G9L5buWHXkgSWJ2Ed8hQW3RvtDbdCoxQVa5M/GEdz6Dn8uQ==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.0.1"},"peerDependencies":{"@digitalchokro/core":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_1.0.1_1783002746513_0.8415631270167327","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@digitalchokro/provider-ollama","version":"1.0.2","keywords":["askchokro","ollama","ai","provider","local","free"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@1.0.2","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"4c7f221a4b76c689d57394fce1ef5f2de260f949","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-1.0.2.tgz","fileCount":4,"integrity":"sha512-9ya1ulF2HE4fVBFPGIwqneaBfjqb2nY7Ka6HXRlNNChc4FFRfTq/JCrvX5/fv1GmzOgsa6o//LKiClfMftOBpg==","signatures":[{"sig":"MEUCIQCEAxcJPsXomDhoZt2MNiODBfHOewQQU8a/hJAIpTFjGwIgd/DpOgA9V9Ygr2qYsY/OlwN0LWf8HOSSab74CVt15to=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5685},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-1.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/8d9f5252cf73db3fe31d36da227d787f/digitalchokro-provider-ollama-1.0.2.tgz","_integrity":"sha512-9ya1ulF2HE4fVBFPGIwqneaBfjqb2nY7Ka6HXRlNNChc4FFRfTq/JCrvX5/fv1GmzOgsa6o//LKiClfMftOBpg==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.0.2"},"peerDependencies":{"@digitalchokro/core":"1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_1.0.2_1783005595014_0.3567891402838459","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@digitalchokro/provider-ollama","version":"1.0.3","keywords":["askchokro","ollama","ai","provider","local","free"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@1.0.3","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"2feefa941f0a5afce58ce213b8beb80929eac49c","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-1.0.3.tgz","fileCount":4,"integrity":"sha512-0s9ujAdmviMpk3daB/fx8L57SJx21XUhIGHHJt73wZ7e+/3qR0Gc9Y0ujTBMYadzkomyORzKdnlInGunG0GT2A==","signatures":[{"sig":"MEUCIQCSu9XiraOBGiQPBLsUpNFhADL4yMU4feXPFE863W4A/gIgAPtbGMyF2/+zPQHAr4De593Y/J3NTr31OrVNHOYG0B4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5685},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-1.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/private/var/folders/6j/hs8slnj54b78dhtyvpt0m5xh0000gn/T/6e4e502f08818d35fb7335064a33c46c/digitalchokro-provider-ollama-1.0.3.tgz","_integrity":"sha512-0s9ujAdmviMpk3daB/fx8L57SJx21XUhIGHHJt73wZ7e+/3qR0Gc9Y0ujTBMYadzkomyORzKdnlInGunG0GT2A==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"11.9.0","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.0.3"},"peerDependencies":{"@digitalchokro/core":"1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_1.0.3_1783015742487_0.7134323229733426","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@digitalchokro/provider-ollama","version":"1.0.5","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@1.0.5","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"1d650d4d110e5f1d1568e3a7fc94fb0d8b5c9cdc","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-1.0.5.tgz","fileCount":5,"integrity":"sha512-P+uls+6mOVMvT1iIzdrbp0mDwSprM+nNmHD3IaRC3ytbmit+ls/TjHs5KjmXPwu3R5EcxDv5Zgohdo46ThJZRA==","signatures":[{"sig":"MEQCIDW+d42dIKejNB2K5MG7MV/nhCYInlD3Ccajhxuke52TAiBYl1I1hvbsPETn3KpfWc+FtV7T2d+D/5BIMzvKtPfO/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19902},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-1.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/546cb038c8c2e35cea977586c8faccb2/digitalchokro-provider-ollama-1.0.5.tgz","_integrity":"sha512-P+uls+6mOVMvT1iIzdrbp0mDwSprM+nNmHD3IaRC3ytbmit+ls/TjHs5KjmXPwu3R5EcxDv5Zgohdo46ThJZRA==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.0.5"},"peerDependencies":{"@digitalchokro/core":"1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_1.0.5_1783079818731_0.6506017557212469","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@digitalchokro/provider-ollama","version":"2.0.0","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.0","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"4b37616715a36587a4d21e1fda45c6f1c6109cbf","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.0.tgz","fileCount":5,"integrity":"sha512-LXVbOsMOgGGH028J1jr0W0yrzFk7UVVIA+hpLhopwEa0TGT52a4OWuN3K0nLFJuiADwxYDiCGrZkwBsJwTpUnQ==","signatures":[{"sig":"MEYCIQCS0wWpSZTrKxOB9mXOevFwyRE0dBE+Ieed+tpmE7XhuQIhAOqIAgQcdbi1ltI4azRwP6wCWxUSTOVJpg/k1aeLdaZZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15992},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/c237e3e8a40a54c55503840e4f5d7d1b/digitalchokro-provider-ollama-2.0.0.tgz","_integrity":"sha512-LXVbOsMOgGGH028J1jr0W0yrzFk7UVVIA+hpLhopwEa0TGT52a4OWuN3K0nLFJuiADwxYDiCGrZkwBsJwTpUnQ==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.0"},"peerDependencies":{"@digitalchokro/core":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.0_1783082103663_0.058918412829847444","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@digitalchokro/provider-ollama","version":"2.0.1","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.1","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"3a401160a33c1ecbe05d8d7c293cd9ae10c3ac1a","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.1.tgz","fileCount":5,"integrity":"sha512-0YsBmei5zkaSYHw8+1BG+3m2LlzlTWp0+5ZCuAjkqWfDzuSswstKaXg4pZ9lhKzOoeFZnsJt6PHguAkxGDzM+A==","signatures":[{"sig":"MEYCIQC5j9/WD9YYJytrpKjJouHQq+cMSbcOhq8hSRD589fQDQIhAOjGxhTsaIRouux0hopXjLFwXnFoUhwVzdwb1MwqV3wO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16215},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/6f65a40f5038647c6aef23a48ef03b00/digitalchokro-provider-ollama-2.0.1.tgz","_integrity":"sha512-0YsBmei5zkaSYHw8+1BG+3m2LlzlTWp0+5ZCuAjkqWfDzuSswstKaXg4pZ9lhKzOoeFZnsJt6PHguAkxGDzM+A==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.1"},"peerDependencies":{"@digitalchokro/core":"1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.1_1783084555569_0.46677251316543744","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@digitalchokro/provider-ollama","version":"2.0.2","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.2","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"f0d7c1d252ed2da48d119c9b333ecdf104b36e30","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.2.tgz","fileCount":6,"integrity":"sha512-Q+ui6f5zizXIvNVsOv4FUMmxLA+er/7pOEw3pvDWTrkIMxppo2ivVjp8HAOfZ4RY/cDXTXGB0XtGmBidYFu4cg==","signatures":[{"sig":"MEUCIQCge0m1ImUCJoCOidaD7iNp+OJJVbrBhkaGEzGfvnlHhQIgfT5g9AU8OTtfTk6DaEntKqM0k8JPLqfeKuOzEQiEDvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23471},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --sourcemap","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/6803f627962c0a051853b913aaaf72ba/digitalchokro-provider-ollama-2.0.2.tgz","_integrity":"sha512-Q+ui6f5zizXIvNVsOv4FUMmxLA+er/7pOEw3pvDWTrkIMxppo2ivVjp8HAOfZ4RY/cDXTXGB0XtGmBidYFu4cg==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.2"},"peerDependencies":{"@digitalchokro/core":"1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.2_1783085120202_0.954336352096369","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@digitalchokro/provider-ollama","version":"2.0.3","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.3","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"5c4f22e5a7638d57c69889f0d89eb0c590d1d1a2","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.3.tgz","fileCount":6,"integrity":"sha512-SD0N4kLYLV4Qq8XOt2mgHCtHfRCXVK6k+pjq9Eom9hcgjwXneoaCENLk4C/g98rraXbeKN1z0w3UGhxircRpHw==","signatures":[{"sig":"MEUCIQDVUvE2ccNLQcFKJKG9saN6gXzeKy+8mzz1WklFhPj6ewIgemeZAsIq4CkDaty+2J1KtcuuJx6XHm/4IQRkrPruxQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23471},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --sourcemap","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/5a0801b95f40d7d3ad724ef3f2253995/digitalchokro-provider-ollama-2.0.3.tgz","_integrity":"sha512-SD0N4kLYLV4Qq8XOt2mgHCtHfRCXVK6k+pjq9Eom9hcgjwXneoaCENLk4C/g98rraXbeKN1z0w3UGhxircRpHw==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.3"},"peerDependencies":{"@digitalchokro/core":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.3_1783100306072_0.19891556850421854","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@digitalchokro/provider-ollama","version":"2.0.4","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.4","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"045ba3cc275b6e5d87475a923d2121a3f8a1d2f8","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.4.tgz","fileCount":6,"integrity":"sha512-gO1M/4S29yWnSg6ofVQxCl7nV2nRc2VpSGVyYph4ddkyXSPJc7XRgpMapvLfPTci/HCNKalvkVgLm1r3w1L+0A==","signatures":[{"sig":"MEUCIDaOzzJ5GfaffW6Mm1BIKV9PUzWeA4OxEn5X7VJqCtRdAiEAs8P7pcrfMnOB+SLcTd+EhKemuAW/FqCnaQQxmMl3dlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23471},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --sourcemap","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/1ce112bc302d06e60ece505908dbc45f/digitalchokro-provider-ollama-2.0.4.tgz","_integrity":"sha512-gO1M/4S29yWnSg6ofVQxCl7nV2nRc2VpSGVyYph4ddkyXSPJc7XRgpMapvLfPTci/HCNKalvkVgLm1r3w1L+0A==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.4"},"peerDependencies":{"@digitalchokro/core":"1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.4_1783106053339_0.3102002028544115","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@digitalchokro/provider-ollama","version":"2.0.5","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.5","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"9a02547212fc98340cde3271bb46b40c64273f1a","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.5.tgz","fileCount":6,"integrity":"sha512-UHmUtlNYUGFS1NDhBnPCLf5/HTwT+FBflSpA9wlF08oDWFR/icrar0A9WK0Hy4Qjb4ZanlKvXkqkUnQgMP6mew==","signatures":[{"sig":"MEQCIDCMxncRxoRbeJEYiEtyRLvCoyukBwCwJc/yyaeExlM9AiB3/GsfYeWUKNMUweIUcRRBN9P8k0eK+++e5p55LNQg5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23573},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --sourcemap","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/15494491140c9a410290109697dd893c/digitalchokro-provider-ollama-2.0.5.tgz","_integrity":"sha512-UHmUtlNYUGFS1NDhBnPCLf5/HTwT+FBflSpA9wlF08oDWFR/icrar0A9WK0Hy4Qjb4ZanlKvXkqkUnQgMP6mew==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.5"},"peerDependencies":{"@digitalchokro/core":"1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.5_1783356841005_0.6174822192840823","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@digitalchokro/provider-ollama","version":"2.0.6","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","_id":"@digitalchokro/provider-ollama@2.0.6","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"homepage":"https://github.com/digitalchokro/askchokro#readme","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"eb9c8a709a4d854e89540d113edf00f4879ba3b9","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.0.6.tgz","fileCount":6,"integrity":"sha512-I3bGqAqkaNInTBckIkiIU2G7lIgdtYjWqTeeOJqM7yiqm2B7B9MpCnx/LhnwcyI2KPOG5XOsMXxxAN4l7NUB/A==","signatures":[{"sig":"MEUCIQDpQz7S2IHcee0GVOE2/+exkPmE1A9OerLAumBDqQP87AIgUoh4iTFwVvK1jt2sjS4nwY5qB2RlfSh83iOtlfICyuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31631},"main":"./dist/index.js","type":"module","_from":"file:digitalchokro-provider-ollama-2.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --sourcemap","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"_resolved":"/tmp/1d03611e2f1aa0c47f1849b3ea93d273/digitalchokro-provider-ollama-2.0.6.tgz","_integrity":"sha512-I3bGqAqkaNInTBckIkiIU2G7lIgdtYjWqTeeOJqM7yiqm2B7B9MpCnx/LhnwcyI2KPOG5XOsMXxxAN4l7NUB/A==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.8","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@digitalchokro/core":"1.1.6"},"peerDependencies":{"@digitalchokro/core":"1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/provider-ollama_2.0.6_1784228221970_0.9096176636932125","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"_id":"@digitalchokro/provider-ollama@2.1.0","bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"dist":{"shasum":"34488118f33d031aad6b2690fc6fcd6ca2579a03","tarball":"https://registry.npmjs.org/@digitalchokro/provider-ollama/-/provider-ollama-2.1.0.tgz","fileCount":6,"integrity":"sha512-6YlrtmONOlh1aFEJEtBFK05M6niglMMM90sfemmhsQj9BqJ/cL5tRD3WQPvzualZEKfjZxW+Z5gTg/Gaqf/bsw==","signatures":[{"sig":"MEUCIQCpYJmKz0Hp1vHoOUSEmOifBkSi+wbuwMT7GI87lq/SxAIgO8lqwB5LrRh+wgAtcepbjmeppKF3Z7xaEXgcdWOQdOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFHHx9j+npTzYWvxaXjbAn0JqPeiqeffDyYrVXs3eNCKAiEA9D+H3MQRYHhNOrNfjebjLNe7b/n2ysdE458ztZHpHlA="}],"unpackedSize":33377},"main":"./dist/index.js","name":"@digitalchokro/provider-ollama","type":"module","_from":"file:digitalchokro-provider-ollama-2.1.0.tgz","types":"./dist/index.d.ts","author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"license":"MIT","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --sourcemap","lint":"eslint src/","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"version":"2.1.0","_npmUser":{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"},"homepage":"https://github.com/digitalchokro/askchokro#readme","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"_resolved":"/tmp/26376269ce692812570f75bd8be2144e/digitalchokro-provider-ollama-2.1.0.tgz","_integrity":"sha512-6YlrtmONOlh1aFEJEtBFK05M6niglMMM90sfemmhsQj9BqJ/cL5tRD3WQPvzualZEKfjZxW+Z5gTg/Gaqf/bsw==","repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"_npmVersion":"10.9.9","description":"Ollama provider for AskChokro. Local, free, no API key required.","directories":{},"maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"_nodeVersion":"22.23.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.10","typescript":"^5.5.0","@digitalchokro/core":"1.2.0"},"peerDependencies":{"@digitalchokro/core":"^1.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/provider-ollama_2.1.0_1791049806024_0.0703767201200185"}}},"time":{"created":"2026-07-02T13:20:52.546Z","modified":"2026-10-03T17:50:06.346Z","1.0.0":"2026-07-02T13:20:52.891Z","1.0.1":"2026-07-02T14:32:26.643Z","1.0.2":"2026-07-02T15:19:55.216Z","1.0.3":"2026-07-02T18:09:02.666Z","1.0.5":"2026-07-03T11:56:58.889Z","2.0.0":"2026-07-03T12:35:03.809Z","2.0.1":"2026-07-03T13:15:55.713Z","2.0.2":"2026-07-03T13:25:20.332Z","2.0.3":"2026-07-03T17:38:26.223Z","2.0.4":"2026-07-03T19:14:13.509Z","2.0.5":"2026-07-06T16:54:01.155Z","2.0.6":"2026-07-16T18:57:02.108Z","2.1.0":"2026-10-03T17:50:06.127Z"},"bugs":{"url":"https://github.com/digitalchokro/askchokro/issues"},"author":{"name":"Digital Chokro","email":"hello@digitalchokro.com"},"license":"MIT","homepage":"https://github.com/digitalchokro/askchokro#readme","keywords":["askchokro","sql","ai","llm","text-to-sql","nlp","rag","database","analytics","business intelligence","agent","generative ai","typescript","node.js"],"repository":{"url":"git+https://github.com/digitalchokro/askchokro.git","type":"git","directory":"packages/provider-ollama"},"description":"Ollama provider for AskChokro. Local, free, no API key required.","maintainers":[{"name":"imnurmohammad.me","email":"founder@digitalchokro.com"}],"readme":"<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/digitalchokro/askchokro/main/docs/assets/logo.png\" width=\"120\" alt=\"AskChokro Logo\" />\n  <h1>AskChokro</h1>\n  <p><strong>The AI Data Engine for Node.js</strong></p>\n  <p>Add \"Ask your data\" to any SaaS app in 10 minutes. Simpler by design, built for embedding.</p>\n  \n  [![npm version](https://img.shields.io/npm/v/@digitalchokro/askchokro.svg?style=flat-square)](https://www.npmjs.com/package/@digitalchokro/askchokro)\n  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n</div>\n\n<div align=\"center\">\n  <em>(Looking for Bengali? <a href=\"./README-bn.md\">Read in Bengali / বাংলায় পড়ুন</a>)</em>\n</div>\n<br/>\n<p align=\"center\">\n  <picture>\n    <img src=\"https://raw.githubusercontent.com/digitalchokro/askchokro/main/docs/assets/logo.png\" width=\"800\" height=\"2\" style=\"background: linear-gradient(90deg, transparent, #8e9eab, #eef2f3, #8e9eab, transparent); border-radius: 5px;\"/>\n  </picture>\n</p>\n<br/>\n\n## Instantly see it in action\n\nNo setup, no accounts, just a terminal.\n\n```bash\nnpx @digitalchokro/cli demo\n```\nThis spins up a local SQLite database with sample e-commerce data, auto-detects **Ollama, OpenAI, or Anthropic**, and opens a beautiful Chat UI on `localhost:3000`.\n\n### Demo Database Schema\nThe in-memory SQLite database is seeded with a comprehensive e-commerce schema to test complex queries against:\n- `users` (id, name, email, country, created_at)\n- `products` (id, name, category, price, stock)\n- `orders` (id, user_id, total_amount, status, created_at)\n- `order_items` (id, order_id, product_id, quantity, price)\n- `carts` (id, user_id, created_at)\n- `cart_items` (id, cart_id, product_id, quantity)\n\n*Try asking: \"Who has items in their cart right now?\", \"Which category generates the most revenue?\", \"List all pending orders with amounts\", or \"Show me products under $100\".*\n\n### Anti-Hallucination Fallback (`CANNOT_ANSWER`)\nAskChokro's engine uses a strict system prompt. If you ask a question about data that does not exist in the schema, the model will safely reject the prompt and return `CANNOT_ANSWER` instead of hallucinating fake tables or SQL.\n\n> **Note:** AskChokro can intelligently answer multiple disjoint questions in a single prompt by automatically combining them into scalar subqueries, ensuring you get all your answers in a single database round-trip without breaking the SQL driver.\n\n### Using Local Models (Ollama)\nIf you want to force a specific provider or model, use environment variables:\n\n```bash\n# Force Ollama with a specific model (ignores any API keys in your environment)\nASKCHOKRO_PROVIDER=ollama ASKCHOKRO_MODEL=qwen2.5-coder npx @digitalchokro/cli demo\n\n# Force Anthropic\nASKCHOKRO_PROVIDER=anthropic ANTHROPIC_API_KEY=sk-ant-... npx @digitalchokro/cli demo\n```\n\n---\n\n## Why AskChokro?\n\nIf you've tried building \"AI analytics\" features into your SaaS, you know the drill:\n- **Python wrappers:** You have to deploy a separate Python microservice just to run LangChain or LlamaIndex.\n- **Heavy BI tools:** You look at tools like WrenAI or Superset, but they are full platforms. You just want a simple API endpoint to power a chat box in your own React app.\n- **Security nightmares:** How do you guarantee the AI doesn't `DROP TABLE` or leak Tenant A's data to Tenant B?\n\n**AskChokro is different:**\n1. **100% TypeScript.** Runs right in your Node.js backend (Next.js, Express, Fastify).\n2. **Zero-Config.** The `AskChokro` wrapper auto-detects `DATABASE_URL`, `OPENAI_API_KEY`, and `ANTHROPIC_API_KEY` - and falls back to a local Ollama instance seamlessly when no keys are found.\n3. **AST-Level Security.** We don't just rely on prompt engineering. We parse the LLM's SQL into an Abstract Syntax Tree (AST), strictly validate it's a read-only `SELECT`, and *automatically rewrite the AST* to enforce tenant scoping before executing it.\n\n## Quick Start (Next.js App Router)\n\nInstall the core engine and the Next.js adapter:\n\n```bash\nnpm install @digitalchokro/askchokro @digitalchokro/adapter-nextjs @digitalchokro/provider-openai @digitalchokro/db-postgres\n```\n\nCreate a route handler at `app/api/ask/route.ts`:\n\n```typescript\n// app/api/ask/route.ts\nimport { AskChokro } from '@digitalchokro/askchokro';\nimport { createAskChokroRoute } from '@digitalchokro/adapter-nextjs';\n\n// Auto-detects process.env.DATABASE_URL and process.env.OPENAI_API_KEY\nconst agent = new AskChokro();\n\nexport const POST = createAskChokroRoute(agent);\n```\n\nOn your frontend:\n\n```javascript\nconst res = await fetch('/api/ask', {\n  method: 'POST',\n  body: JSON.stringify({ question: 'Who are my top 5 customers this month?' })\n});\n\nconst { answer, sql, rows } = await res.json();\nconsole.log(sql);  // \"SELECT name, SUM(amount) FROM orders GROUP BY name ORDER BY SUM(amount) DESC LIMIT 5\"\nconsole.table(rows);\n```\n\nThat's it. You just shipped AI data analytics.\n\n## Multi-Tenant Security (AST Rewriting)\n\nWhen embedding AI in B2B SaaS, tenant isolation is the hardest problem. Naive string-appending (`WHERE tenant_id = X`) fails when the AI generates subqueries or complex `JOIN`s that bypass the filter.\n\nAskChokro uses a sophisticated **AST Scope Rewriter**. \n\n```typescript\nimport { DatabaseAgent } from '@digitalchokro/core';\nimport { PostgresAdapter } from '@digitalchokro/db-postgres';\nimport { OpenAIProvider } from '@digitalchokro/provider-openai';\n\nconst agent = new DatabaseAgent({\n  db: new PostgresAdapter({ connectionString: process.env.DATABASE_URL }),\n  ai: new OpenAIProvider({ model: 'gpt-4o' }),\n  options: {\n    tenantScoping: {\n      enabled: true,\n      column: 'organization_id',\n      // Injects the current user's org ID from your request context\n      getValue: (ctx) => ctx.orgId, \n    }\n  }\n});\n```\n\nWith `tenantScoping` enabled, if the AI generates:\n```sql\nSELECT o.id, u.email FROM orders o JOIN users u ON o.user_id = u.id\n```\n\nAskChokro's AST rewriter physically intercepts the query, parses the syntax tree, and injects your tenant logic into *every* table reference before sending it to the database:\n```sql\nSELECT o.id, u.email \nFROM orders o \nJOIN users u ON o.user_id = u.id AND u.organization_id = 'org_123'\nWHERE o.organization_id = 'org_123'\n```\n\n*AskChokro dramatically reduces risk with a fail-closed design. See our [Security Guide](./docs/SECURITY.md) for full details on the 9-layer defense.*\n\n## Accuracy Benchmarks\n\nWe test AskChokro against a rigorous, open-source dataset of 198 complex SQL scenarios.\n\n| Model | Overall | Aggregations | Multi-Table JOINs | Tenant Scoping |\n|---|---|---|---|---|\n| **GPT-4o** | **95.9%** | 98% | 95% | 100% |\n| **Claude 3.5 Sonnet** | **96.5%** | 99% | 96% | 100% |\n| **Qwen 2.5 Coder (Local)** | **87.8%** | 88% | 85% | 100% |\n\n*(For full methodology, see our CI eval harness).*\n\n## Current Limitations\n\nAskChokro is designed to be simple and secure, which means it currently makes some intentional trade-offs:\n- **Multi-Part Questions Supported:** AskChokro safely handles disjoint, multi-part questions by mapping them into unified scalar subqueries. However, the root AST must ultimately resolve to a single SQL tabular structure to ensure compatibility across all database drivers.\n- **No DML (Mutations):** It is strictly read-only. `INSERT`, `UPDATE`, `DELETE`, and `DROP` are explicitly blocked at the AST level.\n- **Complex Aggregations:** While it handles joins and basic aggregations well, extremely complex window functions or recursive CTEs might confuse smaller local models.\n\n## Coming Soon: WordPress Plugin\n\nWe are actively developing an official **AskChokro WordPress Plugin**. \nThis will allow you to drop an AI data assistant directly into your WooCommerce dashboard with zero code. \n\n**The WordPress Roadmap:**\n- **Phase 1:** AskChokro Node.js Microservice (Pre-configured Docker container)\n- **Phase 2:** WordPress PHP Plugin (Settings UI & Gutenberg Blocks)\n- **Phase 3:** Automatic Tenant Isolation for Multi-Vendor setups\n\nRead the [Integration Architecture](https://github.com/digitalchokro/askchokro/blob/main/docs/INTEGRATION_ARCHITECTURE.md) to learn how this works behind the scenes.\n\n## Frequently Asked Questions (FAQ)\n\n\n\n## Documentation\n\n- [Quick Start](./docs/QUICK_START.md) - Full 5-minute integration guide.\n- [Security Model](./docs/SECURITY.md) - Deep dive into AST validation, column masking, and read-only sandboxes.\n- [Plugin Development](./docs/PLUGINS.md) - Learn how to build your own `AIProvider` or `DatabaseAdapter`.\n- [Integration Architecture](https://github.com/digitalchokro/askchokro/blob/main/docs/INTEGRATION_ARCHITECTURE.md) - Learn how to embed AskChokro across platforms.\n\n## Contributing\n\nWe are actively looking for contributors! Check out our [Contributing Guide](CONTRIBUTING.md) and look for issues tagged `good first issue`.\n\nIf you want to add support for MySQL, Gemini, Google Vertex, or Fastify, we have automated templates waiting for you.\n\n## License\n\nMIT © Digital Chokro\n","readmeFilename":"README.md"}