{"_id":"@assay-ai/vitest","_rev":"5-7bac8fc6b0bd40fba36cde0a467a7564","name":"@assay-ai/vitest","dist-tags":{"beta":"0.2.0-beta","latest":"1.3.1-beta"},"versions":{"0.1.0-beta":{"name":"@assay-ai/vitest","version":"0.1.0-beta","license":"MIT","_id":"@assay-ai/vitest@0.1.0-beta","maintainers":[{"name":"aissam-nexus","email":"aissamirhir@gmail.com"}],"homepage":"https://github.com/assay-ai/assay#readme","bugs":{"url":"https://github.com/assay-ai/assay/issues"},"dist":{"shasum":"3b13da2943635f503d7e0008f26b01c22dde7713","tarball":"https://registry.npmjs.org/@assay-ai/vitest/-/vitest-0.1.0-beta.tgz","fileCount":8,"integrity":"sha512-5rCZZD6/Qq/4PigVJFZs4YBPWZTrRzUXt0PwhvdpCIVlp2/2j+81NeBhNsXdxrlHbOfMyuc907A6DhEAWBsGJQ==","signatures":[{"sig":"MEQCIEKzbTSYo4+xJBQ1h4V6wWUSi3A0KUFYTDxMbApvjbzUAiAL76wzOo4SmqDxjMuKdt44kSY12fqstPfywSgrItdtvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@assay-ai%2fvitest@0.1.0-beta","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71496},"main":"./dist/index.cjs","type":"module","_from":"file:assay-ai-vitest-0.1.0-beta.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aissam-nexus","email":"aissamirhir@gmail.com"},"_resolved":"/tmp/043524b0d99fc5cb39be009086852908/assay-ai-vitest-0.1.0-beta.tgz","_integrity":"sha512-5rCZZD6/Qq/4PigVJFZs4YBPWZTrRzUXt0PwhvdpCIVlp2/2j+81NeBhNsXdxrlHbOfMyuc907A6DhEAWBsGJQ==","repository":{"url":"git+https://github.com/assay-ai/assay.git","type":"git","directory":"packages/vitest"},"_npmVersion":"10.8.2","description":"Vitest integration for the Assay LLM evaluation framework","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","typescript":"^5.7.0","@assay-ai/core":"0.1.0-beta","@assay-ai/tsconfig":"0.0.0"},"peerDependencies":{"vitest":">=2.0.0","@assay-ai/core":"0.1.0-beta"},"_npmOperationalInternal":{"tmp":"tmp/vitest_0.1.0-beta_1773150567938_0.8306901403703744","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta":{"name":"@assay-ai/vitest","version":"0.2.0-beta","license":"MIT","_id":"@assay-ai/vitest@0.2.0-beta","maintainers":[{"name":"aissam-nexus","email":"aissamirhir@gmail.com"}],"homepage":"https://github.com/assay-ai/assay#readme","bugs":{"url":"https://github.com/assay-ai/assay/issues"},"dist":{"shasum":"7dc6b77e4049feb03627bbfff4e96f8b677dae36","tarball":"https://registry.npmjs.org/@assay-ai/vitest/-/vitest-0.2.0-beta.tgz","fileCount":9,"integrity":"sha512-SW3TSvmT2dCwnvZR1U35hozjoGYzEdFZz9nB8lGfSHVwkahFD07Y21cQPpqZINFzjk4YkfQo9d3/PCcKYKgupw==","signatures":[{"sig":"MEYCIQDS0aghs51W5ENrfg+Io2Quf78vRUAcHrrcGdIQRrPcXgIhAJaqgtq8Q5YsQ83lMgvV5iKh4K31SsaP8mM7Ph1mYhr0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@assay-ai%2fvitest@0.2.0-beta","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74475},"main":"./dist/index.cjs","type":"module","_from":"file:assay-ai-vitest-0.2.0-beta.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aissam-nexus","email":"aissamirhir@gmail.com"},"_resolved":"/tmp/82413376f45ccf20b0c4a40fc49ec3b8/assay-ai-vitest-0.2.0-beta.tgz","_integrity":"sha512-SW3TSvmT2dCwnvZR1U35hozjoGYzEdFZz9nB8lGfSHVwkahFD07Y21cQPpqZINFzjk4YkfQo9d3/PCcKYKgupw==","repository":{"url":"git+https://github.com/assay-ai/assay.git","type":"git","directory":"packages/vitest"},"_npmVersion":"10.8.2","description":"Vitest integration for the Assay LLM evaluation framework","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","typescript":"^5.7.0","@assay-ai/core":"0.2.0-beta","@assay-ai/tsconfig":"0.0.0"},"peerDependencies":{"vitest":">=2.0.0","@assay-ai/core":"0.2.0-beta"},"_npmOperationalInternal":{"tmp":"tmp/vitest_0.2.0-beta_1773150961833_0.9053031392504358","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-beta":{"name":"@assay-ai/vitest","version":"0.2.1-beta","license":"MIT","_id":"@assay-ai/vitest@0.2.1-beta","maintainers":[{"name":"aissam-nexus","email":"aissamirhir@gmail.com"}],"homepage":"https://github.com/assay-ai/assay#readme","bugs":{"url":"https://github.com/assay-ai/assay/issues"},"dist":{"shasum":"7fff3542011e0054c40c4feb935fcded1bdafa93","tarball":"https://registry.npmjs.org/@assay-ai/vitest/-/vitest-0.2.1-beta.tgz","fileCount":9,"integrity":"sha512-ERKiA+ZfkE4IcKSGqaa/svrejO9HbKm+AI6AKegLzrhsSwjj8rJO+dVwIYLQj/bQUWS8zQVnj/eoI6D0g4HzuQ==","signatures":[{"sig":"MEQCIHMfqihtnTRTDdl2HFiXCWdf7Gnz2oHAD9Bd5QBS107wAiAeVIdlxUP17jhWdIA5bOyuMZ7vcsC0HvWdX+/aAiiDgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@assay-ai%2fvitest@0.2.1-beta","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74475},"main":"./dist/index.cjs","type":"module","_from":"file:assay-ai-vitest-0.2.1-beta.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aissam-nexus","email":"aissamirhir@gmail.com"},"_resolved":"/tmp/b0e0d96609183d771c1db62d9df9544a/assay-ai-vitest-0.2.1-beta.tgz","_integrity":"sha512-ERKiA+ZfkE4IcKSGqaa/svrejO9HbKm+AI6AKegLzrhsSwjj8rJO+dVwIYLQj/bQUWS8zQVnj/eoI6D0g4HzuQ==","repository":{"url":"git+https://github.com/assay-ai/assay.git","type":"git","directory":"packages/vitest"},"_npmVersion":"10.8.2","description":"Vitest integration for the Assay LLM evaluation framework","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","typescript":"^5.7.0","@assay-ai/core":"0.2.1-beta","@assay-ai/tsconfig":"0.0.0"},"peerDependencies":{"vitest":">=2.0.0","@assay-ai/core":"0.2.1-beta"},"_npmOperationalInternal":{"tmp":"tmp/vitest_0.2.1-beta_1773151277234_0.2301559183326929","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta":{"name":"@assay-ai/vitest","version":"0.3.0-beta","license":"MIT","_id":"@assay-ai/vitest@0.3.0-beta","maintainers":[{"name":"aissam-nexus","email":"aissamirhir@gmail.com"}],"homepage":"https://github.com/assay-ai/assay#readme","bugs":{"url":"https://github.com/assay-ai/assay/issues"},"dist":{"shasum":"52cb542d47ad2d59ffc5968529f464f86a52311b","tarball":"https://registry.npmjs.org/@assay-ai/vitest/-/vitest-0.3.0-beta.tgz","fileCount":9,"integrity":"sha512-Nf6ddeOMbx7+09RmGT9UCyq5SNa0yoveAF8yJJz3HdyW8bnrw7m6M1a1T+2UCIs3lyP6sl4Izp2DVJgjOmULAg==","signatures":[{"sig":"MEUCIQCu518EDOGxAdOs5i8gcy43NYOxgdlr+Q+C4wj1UZNSSgIgRcEy20954DFae5IPXPQBPi0cTTS0KLSsno/iLyN8WDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@assay-ai%2fvitest@0.3.0-beta","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74475},"main":"./dist/index.cjs","type":"module","_from":"file:assay-ai-vitest-0.3.0-beta.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aissam-nexus","email":"aissamirhir@gmail.com"},"_resolved":"/tmp/08ad8e52efaae3768445d3a675f0bd92/assay-ai-vitest-0.3.0-beta.tgz","_integrity":"sha512-Nf6ddeOMbx7+09RmGT9UCyq5SNa0yoveAF8yJJz3HdyW8bnrw7m6M1a1T+2UCIs3lyP6sl4Izp2DVJgjOmULAg==","repository":{"url":"git+https://github.com/assay-ai/assay.git","type":"git","directory":"packages/vitest"},"_npmVersion":"10.8.2","description":"Vitest integration for the Assay LLM evaluation framework","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","typescript":"^5.7.0","@assay-ai/core":"0.3.0-beta","@assay-ai/tsconfig":"0.0.0"},"peerDependencies":{"vitest":">=2.0.0","@assay-ai/core":"0.3.0-beta"},"_npmOperationalInternal":{"tmp":"tmp/vitest_0.3.0-beta_1773153873415_0.45369590444143304","host":"s3://npm-registry-packages-npm-production"}},"1.3.1-beta":{"name":"@assay-ai/vitest","version":"1.3.1-beta","description":"Vitest integration for the Assay LLM evaluation framework","homepage":"https://assay.js.org","license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"peerDependencies":{"vitest":">=2.0.0","@assay-ai/core":"1.3.1-beta"},"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.0","vitest":"^3.0.0","@assay-ai/core":"1.3.1-beta","@assay-ai/tsconfig":"0.0.0"},"repository":{"type":"git","url":"git+https://github.com/assay-ai/assay.git","directory":"packages/vitest"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","clean":"rm -rf dist .turbo"},"_id":"@assay-ai/vitest@1.3.1-beta","bugs":{"url":"https://github.com/assay-ai/assay/issues"},"_integrity":"sha512-NwZsTSeGpDEAr1ASJnq9GCmtgfkLHSZ31KTeZuzsY31E1/+5vK85uT0NyjBHRq5L4i9bFKD+3m+HsET9shN5+Q==","_resolved":"/tmp/dadbae2974112d3dce32d7364e8ae7a9/assay-ai-vitest-1.3.1-beta.tgz","_from":"file:assay-ai-vitest-1.3.1-beta.tgz","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-NwZsTSeGpDEAr1ASJnq9GCmtgfkLHSZ31KTeZuzsY31E1/+5vK85uT0NyjBHRq5L4i9bFKD+3m+HsET9shN5+Q==","shasum":"ad32f9a48b8cba30b1ecccffd14550d256e6af59","tarball":"https://registry.npmjs.org/@assay-ai/vitest/-/vitest-1.3.1-beta.tgz","fileCount":9,"unpackedSize":74030,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@assay-ai%2fvitest@1.3.1-beta","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBab+N8uk11TUJwPFBHHZjmP4TDw02lscQxrCBD8He2qAiAjPjP3K+4YO9RCqvCU11ynv3m4NbKAuc15LuLChcVvUQ=="}]},"_npmUser":{"name":"aissam-nexus","email":"aissamirhir@gmail.com"},"directories":{},"maintainers":[{"name":"aissam-nexus","email":"aissamirhir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vitest_1.3.1-beta_1773329590204_0.016967522651496036"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-10T13:49:27.837Z","modified":"2026-03-12T15:33:10.824Z","0.1.0-beta":"2026-03-10T13:49:28.087Z","0.2.0-beta":"2026-03-10T13:56:01.993Z","0.2.1-beta":"2026-03-10T14:01:17.392Z","0.3.0-beta":"2026-03-10T14:44:33.556Z","1.3.1-beta":"2026-03-12T15:33:10.352Z"},"bugs":{"url":"https://github.com/assay-ai/assay/issues"},"license":"MIT","homepage":"https://assay.js.org","repository":{"type":"git","url":"git+https://github.com/assay-ai/assay.git","directory":"packages/vitest"},"description":"Vitest integration for the Assay LLM evaluation framework","maintainers":[{"name":"aissam-nexus","email":"aissamirhir@gmail.com"}],"readme":"<div align=\"center\">\n\n# @assay-ai/vitest\n\n*Custom Vitest matchers for LLM evaluation with Assay*\n\n[![npm version](https://img.shields.io/npm/v/@assay-ai/vitest?style=flat-square&color=6366f1)](https://www.npmjs.com/package/@assay-ai/vitest)\n[![downloads](https://img.shields.io/npm/dm/@assay-ai/vitest?style=flat-square&color=10b981)](https://www.npmjs.com/package/@assay-ai/vitest)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](https://github.com/assay-ai/assay/blob/main/LICENSE)\n\n[Documentation](https://assay.js.org) · [Metrics](https://assay.js.org/metrics/) · [API Reference](https://assay.js.org/api/)\n\n</div>\n\n## Installation\n\n```bash\npnpm add -D @assay-ai/core @assay-ai/vitest     # pnpm\nnpm install -D @assay-ai/core @assay-ai/vitest   # npm\nyarn add -D @assay-ai/core @assay-ai/vitest      # Yarn\n```\n\n## Quick Start\n\n```typescript\nimport { beforeAll, describe, expect, test } from \"vitest\";\nimport { setupAssayMatchers } from \"@assay-ai/vitest\";\n\nbeforeAll(() => {\n  setupAssayMatchers();\n});\n\ndescribe(\"Customer Support Chatbot\", () => {\n  test(\"answers are relevant\", async () => {\n    await expect({\n      input: \"What is your return policy?\",\n      actualOutput: \"You can return items within 30 days of purchase.\",\n      retrievalContext: [\n        \"Our return policy allows returns within 30 days of purchase.\",\n      ],\n    }).toBeRelevant({ threshold: 0.8 });\n  });\n\n  test(\"does not hallucinate\", async () => {\n    await expect({\n      input: \"What is your return policy?\",\n      actualOutput: \"You can return items within 30 days of purchase.\",\n      context: [\n        \"Our return policy allows returns within 30 days of purchase.\",\n      ],\n    }).toNotHallucinate();\n  });\n});\n```\n\n## Part of the [Assay](https://github.com/assay-ai/assay) monorepo\n\n<p align=\"center\">\n  <a href=\"https://assay.js.org\"><img src=\"https://img.shields.io/badge/Documentation-6366f1?style=for-the-badge&logo=readthedocs&logoColor=white\" alt=\"Documentation\" /></a>\n  <a href=\"https://www.npmjs.com/package/@assay-ai/vitest\"><img src=\"https://img.shields.io/badge/npm-cb3837?style=for-the-badge&logo=npm&logoColor=white\" alt=\"npm\" /></a>\n  <a href=\"https://github.com/assay-ai/assay\"><img src=\"https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github&logoColor=white\" alt=\"GitHub\" /></a>\n  <a href=\"https://github.com/assay-ai/assay/issues\"><img src=\"https://img.shields.io/badge/Issues-6366f1?style=for-the-badge&logo=github&logoColor=white\" alt=\"Issues\" /></a>\n</p>\n","readmeFilename":"README.md"}