{"_id":"@ducquang/zenith-adapter-sequelize","_rev":"2-614b7a4369d5fd028ceadcbef60ae80c","name":"@ducquang/zenith-adapter-sequelize","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ducquang/zenith-adapter-sequelize","version":"0.1.0","keywords":["zenith","sequelize","mysql","postgres","adapter"],"license":"AGPL-3.0","_id":"@ducquang/zenith-adapter-sequelize@0.1.0","maintainers":[{"name":"ducquang","email":"ducquang0565@gmail.com"}],"dist":{"shasum":"b5d41e825416af16a27fd10b442e6f802fd46a7a","tarball":"https://registry.npmjs.org/@ducquang/zenith-adapter-sequelize/-/zenith-adapter-sequelize-0.1.0.tgz","fileCount":4,"integrity":"sha512-00Y9ZTxlisYaKW/+fz01aHmdZhvxshsk1bNS4qWnapzh7x3BzhFqQdgf7Y2V8j5wFX7WgHiswDVauQJYXZ7cDw==","signatures":[{"sig":"MEUCIQDvkQcGh4C+Bj3OCnDHLg5cykNi+EeZQ5T7jBuhW5Br+QIgbcb42Ojq1Jz3mJkRdedJGbyymG1crOEShlwcbsBOqlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5567},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./src/index.js"},"gitHead":"3cbec43c716ef4281c601d0dab2c6579524f82ed","_npmUser":{"name":"ducquang","email":"ducquang0565@gmail.com"},"_npmVersion":"10.9.7","description":"Sequelize adapter for @zenith/core — adds MySQL/PostgreSQL/SQLite quota persistence.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"sequelize":"^6.x","@ducquang/zenith-core":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/zenith-adapter-sequelize_0.1.0_1777742914814_0.7034873778068533","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ducquang/zenith-adapter-sequelize","version":"0.1.1","description":"Sequelize adapter for @zenith/core — adds MySQL/PostgreSQL/SQLite quota persistence.","type":"module","main":"./src/index.js","exports":{".":"./src/index.js"},"engines":{"node":">=18"},"keywords":["zenith","sequelize","mysql","postgres","adapter"],"license":"AGPL-3.0","peerDependencies":{"@ducquang/zenith-core":"^0.1.0","sequelize":"^6.x"},"_id":"@ducquang/zenith-adapter-sequelize@0.1.1","gitHead":"51c8440ef116aef97b51f0ca6423d62320f87c87","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-04rY5nBts/vdZn5VKUFVz10f5A7Wh73GTkPbxKampS+x8QmiKTsC/E3brH+dKdyuh67P8qaCx0o34cxPiYTzPw==","shasum":"0776501856c914138c8a47529c174cd5e64438b7","tarball":"https://registry.npmjs.org/@ducquang/zenith-adapter-sequelize/-/zenith-adapter-sequelize-0.1.1.tgz","fileCount":5,"unpackedSize":8344,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGpU2QGhhb+cCsqDmKtpb8av8ibf3AaRGCvOTrLdOtCaAiAZZCNOcQQzQNAsa7ECi9HYPzrS7Po4vchERLj0bbHuBQ=="}]},"_npmUser":{"name":"ducquang","email":"ducquang0565@gmail.com"},"directories":{},"maintainers":[{"name":"ducquang","email":"ducquang0565@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zenith-adapter-sequelize_0.1.1_1777823930352_0.15124799000711153"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-02T17:28:34.729Z","modified":"2026-05-03T15:58:50.606Z","0.1.0":"2026-05-02T17:28:34.977Z","0.1.1":"2026-05-03T15:58:50.501Z"},"license":"AGPL-3.0","keywords":["zenith","sequelize","mysql","postgres","adapter"],"description":"Sequelize adapter for @zenith/core — adds MySQL/PostgreSQL/SQLite quota persistence.","maintainers":[{"name":"ducquang","email":"ducquang0565@gmail.com"}],"readme":"# @ducquang/zenith-adapter-sequelize\n\n<div align=\"center\">\n  <p><strong>Sequelize adapter for @ducquang/zenith-core — adds MySQL/PostgreSQL/SQLite quota persistence.</strong></p>\n  \n  [![NPM Version](https://img.shields.io/npm/v/@ducquang/zenith-adapter-sequelize.svg)](https://www.npmjs.com/package/@ducquang/zenith-adapter-sequelize)\n  [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n</div>\n\n## 📖 Overview\n\n`@ducquang/zenith-adapter-sequelize` is the official database persistence adapter for the Zenith AI Framework. It extends the `@ducquang/zenith-core` engine by seamlessly integrating [Sequelize](https://sequelize.org/), allowing you to track AI usage quotas, rate limits, and resource consumption across your user base using relational databases.\n\n## ✨ Features\n\n* **💾 Multi-Database Support:** Works out of the box with major relational databases.\n* **📊 Quota Persistence:** Accurately track and deduct AI tokens or complexity weights per tenant/user in your database.\n* **🔌 Plug-and-Play Integration:** Designed to inject directly into the Zenith Core lifecycle.\n* **🛡️ Transaction Safe:** Ensures atomic quota deductions to prevent race conditions.\n\n### ✅ Tested & Verified Dialects\n\n| Dialect | Tested Driver | Status |\n| :--- | :--- | :--- |\n| **MySQL** | `mysql2` | Supported |\n| **PostgreSQL** | `pg` | Supported |\n| **SQLite** | `sqlite3` | Supported |\n| **MariaDB** | `mariadb` | Supported |\n\n## 📦 Installation\n\nInstall both the adapter and its peer dependency (the core engine):\n\n```bash\nnpm install @ducquang/zenith-core @ducquang/zenith-adapter-sequelize\n```\n\n*Note: You must also install `sequelize` and the appropriate database driver (e.g., `mysql2`, `pg`, `sqlite3`).*\n\n```bash\nnpm install sequelize mysql2\n```\n\n## 🚀 Basic Usage\n\n```javascript\nimport { AIOrchestrator } from '@ducquang/zenith-core';\nimport { SequelizeAdapter } from '@ducquang/zenith-adapter-sequelize';\nimport { Sequelize } from 'sequelize';\n\n// 1. Initialize your Sequelize instance\nconst sequelize = new Sequelize('database', 'username', 'password', {\n  host: 'localhost',\n  dialect: 'mysql'\n});\n\n// 2. Initialize the Adapter\nconst adapter = new SequelizeAdapter(sequelize);\n\n// 3. Inject the adapter into the Zenith Core Engine\nconst ai = new AIOrchestrator({\n  anthropicApiKey: process.env.ANTHROPIC_API_KEY,\n  adapter: adapter \n});\n\n// The orchestrator will now automatically use the Sequelize adapter \n// to verify and deduct quotas when AI requests are made.\n```\n\n## 🤝 Contributing\n\nIf you'd like to support more dialects or improve the adapter's efficiency, please feel free to submit a PR!\n\n## 📜 License\n\nAGPL-3.0 License\n","readmeFilename":"README.md"}