{"_id":"@cogitator-ai/openai-compat","_rev":"31-f3744c5f236d6e397b6e51bbe56cb951","name":"@cogitator-ai/openai-compat","dist-tags":{"latest":"19.0.17"},"versions":{"0.1.0":{"name":"@cogitator-ai/openai-compat","version":"0.1.0","license":"MIT","_id":"@cogitator-ai/openai-compat@0.1.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"e8e059fee173514c47e18f2b00030f754448c595","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-0.1.0.tgz","fileCount":47,"integrity":"sha512-dBG7G7EmHKFjuYaY6UN1TUy8YwscYGtFv0LSjzrxiDUkXElO/dlcCDszcnq+7E33QXOooOsMQx1oVCEb6CGD4w==","signatures":[{"sig":"MEYCIQDuv534UNB4gwdKsgmQI2XF6j5rJ6CYp77SkEeuLT+VKAIhANiIS9D9u9vBk/iJz+8Hq7L1SXq4OBUjmYQxWPXT6KaA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130463},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/5abf9e1332f8aa887bf5d8eeaf7eca44/cogitator-ai-openai-compat-0.1.0.tgz","_integrity":"sha512-dBG7G7EmHKFjuYaY6UN1TUy8YwscYGtFv0LSjzrxiDUkXElO/dlcCDszcnq+7E33QXOooOsMQx1oVCEb6CGD4w==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.1.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.1.0","@cogitator-ai/types":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_0.1.0_1767171885223_0.9887466687335771","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cogitator-ai/openai-compat","version":"1.1.0","license":"MIT","_id":"@cogitator-ai/openai-compat@1.1.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"3103b8cbcd1b25000eb9c9d2af1b13b7ce3d9aec","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-1.1.0.tgz","fileCount":47,"integrity":"sha512-ZUD2/nMYMPXqOKege99IS2VeMLXbebfK4kyLczCpnsiJOKr5e6TSGCcP5+aZdnCNi5RnBuCMGN9B/7rS7mjJjQ==","signatures":[{"sig":"MEYCIQDyw8JKZekZjMlZPp7SmFY0rShk9CRDArtRX8HidIPOOgIhAIhrXfUR5awWAd995Wx/tuJVaM0kLF5wEl5XGN/hkl2+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131885},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-1.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/6388fefa6da393e464f21b2365a2e735/cogitator-ai-openai-compat-1.1.0.tgz","_integrity":"sha512-ZUD2/nMYMPXqOKege99IS2VeMLXbebfK4kyLczCpnsiJOKr5e6TSGCcP5+aZdnCNi5RnBuCMGN9B/7rS7mjJjQ==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.2.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.2.0","@cogitator-ai/types":"0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_1.1.0_1767204860965_0.35563971714747633","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@cogitator-ai/openai-compat","version":"2.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@2.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"ced4df0946ef1f4dab122e2a56780ac84cd7c28f","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-2.0.0.tgz","fileCount":47,"integrity":"sha512-/Q+uX+xVzEhRW0jcmeLsX3YzhgX3bLU/O5nnNBHzDufBYJADm731xCVDjiK0DOBCl6CCYKU+TBwhpHv6g8wtQA==","signatures":[{"sig":"MEQCIHZ1dSTI9cb5YhLRYzRT510BORJzqi7kdhsnlkuc9WY7AiBiFLnwOX/pUhDWhuxeqEZO6lC1bjWHXSJ1brcnmJpPiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-2.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/aba85080b5114a0c16303d25b3663f70/cogitator-ai-openai-compat-2.0.0.tgz","_integrity":"sha512-/Q+uX+xVzEhRW0jcmeLsX3YzhgX3bLU/O5nnNBHzDufBYJADm731xCVDjiK0DOBCl6CCYKU+TBwhpHv6g8wtQA==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.3.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.3.0","@cogitator-ai/types":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_2.0.0_1767215180778_0.2794329209334183","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@cogitator-ai/openai-compat","version":"3.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@3.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"18a9154b9b906ddb4a8d2e1c80ee10c1bcde713b","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-3.0.0.tgz","fileCount":47,"integrity":"sha512-QM7EthsIZbBZREMm0yO0O44npGk21UT16evoGhowmONes85W+HzT7rPdic4jkhABIR/MjuKlme6TliJEQ1mLig==","signatures":[{"sig":"MEUCIQCR2p1oZdcJYMtL1sJDGXCtrNe5WoZxt752xkFFpHi1wAIgBsqeVYSmRLjdNNdJVKpttjul1YHgQJghBvYx6z038ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-3.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/e039fa11bd772668c08a671eaa285fd6/cogitator-ai-openai-compat-3.0.0.tgz","_integrity":"sha512-QM7EthsIZbBZREMm0yO0O44npGk21UT16evoGhowmONes85W+HzT7rPdic4jkhABIR/MjuKlme6TliJEQ1mLig==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.4.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.4.0","@cogitator-ai/types":"0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_3.0.0_1767272218311_0.6990671979602223","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@cogitator-ai/openai-compat","version":"4.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@4.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"15053c6b9fdfdac485299f00df4b85a042f11cdd","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-4.0.0.tgz","fileCount":47,"integrity":"sha512-HvJuk0gPz7WrHamCDnuF8NgnThQkHep9er1ssJNLu/sunWiwI0XDxh71v4gJdzkIW4C0YzJJ+YwCigiAnu556Q==","signatures":[{"sig":"MEUCIQCD7hZhPHADSrI3jGOvvoNv7ulqXYS10cWiUumBaHv6GwIgC3Rgk0cp8LEoZ4HIa66ujmMTOiC4fXQ/rb0CbiFQGOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-4.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/66fe095a774d1ff67ef4b15bf0c89896/cogitator-ai-openai-compat-4.0.0.tgz","_integrity":"sha512-HvJuk0gPz7WrHamCDnuF8NgnThQkHep9er1ssJNLu/sunWiwI0XDxh71v4gJdzkIW4C0YzJJ+YwCigiAnu556Q==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.5.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.5.0","@cogitator-ai/types":"0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_4.0.0_1767518384686_0.9466170029269017","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@cogitator-ai/openai-compat","version":"5.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@5.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"652345feabfcf5449a6eb540f9103f1a84b20836","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-5.0.0.tgz","fileCount":47,"integrity":"sha512-mhcWGOx+fdkHF+yMaEjfgLALotayhnmw68o9dkxOEPBEnQhBx/DSm1OYnOZNTHqjYD/KwDPgnLA7BR0vgIpgAw==","signatures":[{"sig":"MEUCIQCOWyc63eyRhlWZqojT0eUOqQLh/7mRrmrf/B8qH0QNZQIgIMAgm5uzYWg6tqonNKHbU63/GAj35gQKgwWog3zubK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-5.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/dfbf120d52ec9d7c6800023c73bc2842/cogitator-ai-openai-compat-5.0.0.tgz","_integrity":"sha512-mhcWGOx+fdkHF+yMaEjfgLALotayhnmw68o9dkxOEPBEnQhBx/DSm1OYnOZNTHqjYD/KwDPgnLA7BR0vgIpgAw==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.6.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.6.0","@cogitator-ai/types":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_5.0.0_1767559750098_0.648326550390671","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@cogitator-ai/openai-compat","version":"5.0.1","license":"MIT","_id":"@cogitator-ai/openai-compat@5.0.1","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"dda407907990bc33cf03aa2eceb12c6f6e38e20b","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-5.0.1.tgz","fileCount":47,"integrity":"sha512-en7fuh9aax2e9NJcSTjSiZ4BzJEYjkvyU1PPxV/SmuuBNtO/dKe/n7GCVIv9GuS1SbtlgMQsIAl2BnVoVstO7A==","signatures":[{"sig":"MEYCIQD5cqyuS0vsoWT7LCJZqbYuK/SSBBW6769mRq+MmnambAIhALk0KNEQAJPdEsst0PImYEetU98MlHjAiQC4FaUaLWvw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-5.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/26ae6b1db6749572da77025f8049ac4a/cogitator-ai-openai-compat-5.0.1.tgz","_integrity":"sha512-en7fuh9aax2e9NJcSTjSiZ4BzJEYjkvyU1PPxV/SmuuBNtO/dKe/n7GCVIv9GuS1SbtlgMQsIAl2BnVoVstO7A==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.6.1","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.6.1","@cogitator-ai/types":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_5.0.1_1767559958932_0.8441151330889569","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@cogitator-ai/openai-compat","version":"6.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@6.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"9366718da79ee4fdc21e25c066a3ff73e7680481","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-6.0.0.tgz","fileCount":47,"integrity":"sha512-ZV9bpz+IWG5q/QRsEpeQ9mjW7ZWPZb5lyyU15zBzVFCFtw31aBAIKYxfpBeBK2D9j8Rqu6e4K18VW7dkmMwoxA==","signatures":[{"sig":"MEUCIHdwhBpvLfGuI+FGpHAtwIC2qWUaqhFIkbkIHJG33XZBAiEAzye2QPCPXdjSni65uYPpQZ02TTsIkwzwN1WLtWSzldY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-6.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/2ef50f9ebd185e2f9c9a9d2064c8748e/cogitator-ai-openai-compat-6.0.0.tgz","_integrity":"sha512-ZV9bpz+IWG5q/QRsEpeQ9mjW7ZWPZb5lyyU15zBzVFCFtw31aBAIKYxfpBeBK2D9j8Rqu6e4K18VW7dkmMwoxA==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.7.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.7.0","@cogitator-ai/types":"0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_6.0.0_1768904098067_0.0013763966100812652","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@cogitator-ai/openai-compat","version":"7.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@7.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"6e9b55ba4338f158b06842b8dc3222df93fde734","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-7.0.0.tgz","fileCount":47,"integrity":"sha512-26uKof0eBkLnspKoI2zBEUKHX6Jk0LqdNp8BcOvwxHVe6O6MLnQLLqgDLVf2hLZtzYoZa6OB08jqIlLjYch+uQ==","signatures":[{"sig":"MEUCIAz+CrIbAtB5ZKzy3hwH2lMQpoX9M6Ilr0kAWuW3852LAiEA+75d4zBLESOO9WmhyOSrmZKTqFZtscXbARs2o/pb7S8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-7.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/2429486f4d3448735f12ea9b31973d63/cogitator-ai-openai-compat-7.0.0.tgz","_integrity":"sha512-26uKof0eBkLnspKoI2zBEUKHX6Jk0LqdNp8BcOvwxHVe6O6MLnQLLqgDLVf2hLZtzYoZa6OB08jqIlLjYch+uQ==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.8.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.8.0","@cogitator-ai/types":"0.8.1"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_7.0.0_1768906315946_0.15382840459128233","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@cogitator-ai/openai-compat","version":"8.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@8.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"86747f18fa8dfec6963a3d5e5be1d3a3f1928f03","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-8.0.0.tgz","fileCount":47,"integrity":"sha512-tYiA4ClqaS5XpUW997Fe6X2h46T+eMnaBCEAdxhwiRu6mn+urYME8bpBF0GfICxEPG6ifN3KaR14jxTvbMlO9w==","signatures":[{"sig":"MEQCIBTP2UDM1PNJ7tgZ7vtmm1s0tGw+HBCMZMIyJOOD7QoRAiBJ0XM40QukQkUdz0T8HMkCMf8BuKHlMf1BECAGTSrFAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148252},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-8.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/cb0610caee8d53cac71792626a398dde/cogitator-ai-openai-compat-8.0.0.tgz","_integrity":"sha512-tYiA4ClqaS5XpUW997Fe6X2h46T+eMnaBCEAdxhwiRu6mn+urYME8bpBF0GfICxEPG6ifN3KaR14jxTvbMlO9w==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.9.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.9.0","@cogitator-ai/types":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_8.0.0_1768908451273_0.4263549697055895","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@cogitator-ai/openai-compat","version":"9.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@9.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"1554c732d0c4cac276418444c4c0f72295205e83","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-9.0.0.tgz","fileCount":47,"integrity":"sha512-de03ybs2/EsnTv2fuzYDoGMNBkUUGZoZhmcADzGreR6VFgXXnJ9yLN6GTs7a0XwHkNo2u6fyJDbMYhQqm4QW7A==","signatures":[{"sig":"MEUCIAxm5l1qNhCyT3mWAvK7DSEiZjH6+Kl51vdwZ+WhDBoXAiEA1cDgizZEPpR6ZEORjyIHxujiVycIxxiPS+yB8vyKFLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148256},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-9.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/b9b5ca2188c14d170f08f4392c454a5e/cogitator-ai-openai-compat-9.0.0.tgz","_integrity":"sha512-de03ybs2/EsnTv2fuzYDoGMNBkUUGZoZhmcADzGreR6VFgXXnJ9yLN6GTs7a0XwHkNo2u6fyJDbMYhQqm4QW7A==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.10.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.10.0","@cogitator-ai/types":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_9.0.0_1768909733423_0.9265910606526595","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@cogitator-ai/openai-compat","version":"10.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@10.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"ec6dac8adde68ada4b0bdea55767e64699fc42de","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-10.0.0.tgz","fileCount":51,"integrity":"sha512-xuFQqgfCxHuLl0bpL9kBTq3P/zxyFT52BEZ1OSJoLZOvTfWtYUdEk8bdGJjAY1zR8o40kPiq0HnEbRKunmWo7w==","signatures":[{"sig":"MEUCIBUprsXwwAA05KGHQlN2/xIrkr9jzmWA+nUg9017NEhpAiEAxDu7Jrcj+IVrbKQRaEWCcPktFHKTPCZnwlbnu10wEu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-10.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/4c7c548a91bd3d449a3e9af5a99a8ed7/cogitator-ai-openai-compat-10.0.0.tgz","_integrity":"sha512-xuFQqgfCxHuLl0bpL9kBTq3P/zxyFT52BEZ1OSJoLZOvTfWtYUdEk8bdGJjAY1zR8o40kPiq0HnEbRKunmWo7w==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.11.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.11.0","@cogitator-ai/types":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_10.0.0_1768915979309_0.21105707142546493","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"@cogitator-ai/openai-compat","version":"10.0.1","license":"MIT","_id":"@cogitator-ai/openai-compat@10.0.1","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"6a5307a5ad075cad659fd46d32e3a58cda87b2a4","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-10.0.1.tgz","fileCount":51,"integrity":"sha512-XW82dRq/hoeYx/Vz4NPGP3Ec+LG+GuEzRJcn+yhG8FCoDNJUM28+ZUYsbdNzvDY3PfSOAEN5k74K/cPMMdtnCg==","signatures":[{"sig":"MEUCIBwyPd/gKp0AgRXFumP3fjkYukvfx682n2HbUGu7p+cYAiEAmlZMF+6zF7YIZoNAAEwkl7BXjQjod40jvCBeyrfBHA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-10.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/7fd1769448dbc95033b41bfcd5e2fb24/cogitator-ai-openai-compat-10.0.1.tgz","_integrity":"sha512-XW82dRq/hoeYx/Vz4NPGP3Ec+LG+GuEzRJcn+yhG8FCoDNJUM28+ZUYsbdNzvDY3PfSOAEN5k74K/cPMMdtnCg==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.11.1","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.11.1","@cogitator-ai/types":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_10.0.1_1769167748287_0.7917933413203777","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"@cogitator-ai/openai-compat","version":"10.0.2","license":"MIT","_id":"@cogitator-ai/openai-compat@10.0.2","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"1b44c526cccdb7126ed8fb82b587204327d07af9","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-10.0.2.tgz","fileCount":51,"integrity":"sha512-fSz6PbfvfKroSlihRxAiOaa13V2N5xV5QicFnhWRYfDmEwE758KEOIdSZPOrqMAksaSTzuIYvh93l76W+202xA==","signatures":[{"sig":"MEUCIHK8bDfyaPmLHwnN5EmBGmy89aQsACTZq9M2eP/RlLAdAiEA5xUVaqzgvV1ou95gW09HGLKIZtq5xta1caCjwp3zuwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-10.0.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/d9c7f161639f3b468b060c9ede6bd17f/cogitator-ai-openai-compat-10.0.2.tgz","_integrity":"sha512-fSz6PbfvfKroSlihRxAiOaa13V2N5xV5QicFnhWRYfDmEwE758KEOIdSZPOrqMAksaSTzuIYvh93l76W+202xA==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.11.2","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.11.2","@cogitator-ai/types":"0.10.1"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_10.0.2_1769171248338_0.2607900672712351","host":"s3://npm-registry-packages-npm-production"}},"11.0.0":{"name":"@cogitator-ai/openai-compat","version":"11.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@11.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"38993cfc7565702f945d1e72deebbf8d133c11d9","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-11.0.0.tgz","fileCount":51,"integrity":"sha512-2LLRY1UCOdGufFrsB9rwqOFMHhPbjI9QjbFzuVearWpxd2xZoTdvbPzm4RBtlqmUn+yB1LkVMJ60hCQy+BZ+3A==","signatures":[{"sig":"MEUCIF3dyV+8UzwTMzX7ai8wcGxgEPVx89C6U330/aOzlOR6AiEAzXYsnHjwVEGpxIiEcqsW/yIe+PZ8RkFxGAZTSkVGHTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-11.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/2817f3d1f8d1d5532fa14c8ccf0a7cc6/cogitator-ai-openai-compat-11.0.0.tgz","_integrity":"sha512-2LLRY1UCOdGufFrsB9rwqOFMHhPbjI9QjbFzuVearWpxd2xZoTdvbPzm4RBtlqmUn+yB1LkVMJ60hCQy+BZ+3A==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.11.3","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.11.3","@cogitator-ai/types":"0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_11.0.0_1769174981228_0.2813160311453218","host":"s3://npm-registry-packages-npm-production"}},"12.0.0":{"name":"@cogitator-ai/openai-compat","version":"12.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@12.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"d981b03214e7d565bfccbb394c34a02c3e196c23","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-12.0.0.tgz","fileCount":51,"integrity":"sha512-mouD2UXijHwf2dtRnutI193K+StsZU6C3q5UnGYyLHxGa+5bABuyEU5yb5uZJ5eibDeAd5bAyHTxXp5veVqv4Q==","signatures":[{"sig":"MEUCIQDp1ZzkBt/ISNSVPPazn/knSxY3BhGUQgUK9QZnnq63BQIgXCT9YTOOx39je1gGAme8nx7JTatfOrp2sy9PD78dwNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-12.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/4022bf7ebd10d8b368baf345e2798888/cogitator-ai-openai-compat-12.0.0.tgz","_integrity":"sha512-mouD2UXijHwf2dtRnutI193K+StsZU6C3q5UnGYyLHxGa+5bABuyEU5yb5uZJ5eibDeAd5bAyHTxXp5veVqv4Q==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.11.4","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.11.4","@cogitator-ai/types":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_12.0.0_1769179030702_0.07185123402860105","host":"s3://npm-registry-packages-npm-production"}},"12.0.1":{"name":"@cogitator-ai/openai-compat","version":"12.0.1","license":"MIT","_id":"@cogitator-ai/openai-compat@12.0.1","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"1afc8c7a8bc8621528dbea9ac07f4ab880c5c61a","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-12.0.1.tgz","fileCount":51,"integrity":"sha512-+Nt5CCrTwaVrm6TtLLFpiEIN/FYY5ofhOkDfvmwB6o6l8FOE0tQTBGozBlx2UK0ngKqrWdz+Rl325gOTeLUOTQ==","signatures":[{"sig":"MEUCIQDIQ5O1byqiTaxDvqQcrsp6Wvj3tebrA5zr998qepqWhAIgOOve1ZMhLU1yyrMoy1su1TciGPgV0dDeOT6V2DNNKaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-12.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/4478adae770fb33970a6a77108175d9f/cogitator-ai-openai-compat-12.0.1.tgz","_integrity":"sha512-+Nt5CCrTwaVrm6TtLLFpiEIN/FYY5ofhOkDfvmwB6o6l8FOE0tQTBGozBlx2UK0ngKqrWdz+Rl325gOTeLUOTQ==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.11.5","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.11.5","@cogitator-ai/types":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_12.0.1_1769181601495_0.46373581272742803","host":"s3://npm-registry-packages-npm-production"}},"13.0.0":{"name":"@cogitator-ai/openai-compat","version":"13.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@13.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"98e8907a441accf54ad7df1f3395518696b09445","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-13.0.0.tgz","fileCount":51,"integrity":"sha512-MzfG8RQXiOcJ/tRAcgulhFuJIWRe2qWR1bLmk0NgRX8tUNMESMh72v6BAfIFUL86HBjV15TVBnSoEjEIRQBA/g==","signatures":[{"sig":"MEUCIGEJSabORM3THcrHJMnxTqWezJAyLhOiCi6jrr5y5ooAAiEA9Ct1MqRPbBeQ3sPepXimezGFNX65WOkiEJhFelyOyH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-13.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/0241cc681b4b99dbb477c212c882e7a0/cogitator-ai-openai-compat-13.0.0.tgz","_integrity":"sha512-MzfG8RQXiOcJ/tRAcgulhFuJIWRe2qWR1bLmk0NgRX8tUNMESMh72v6BAfIFUL86HBjV15TVBnSoEjEIRQBA/g==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.12.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.12.0","@cogitator-ai/types":"0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_13.0.0_1769183185651_0.8137097935201882","host":"s3://npm-registry-packages-npm-production"}},"15.0.0":{"name":"@cogitator-ai/openai-compat","version":"15.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@15.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"9c25bedd8e2a0de1d6597bc30bd8cf05abe3a066","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-15.0.0.tgz","fileCount":51,"integrity":"sha512-Ch+qKaAW2PrKm8SB7vtv5bUYyIZQIuuXVU0GMtLVu2Lp0lMw7Ag1SFkh/FDi2xjI+vhud7utQR0o0Va7TFaPvg==","signatures":[{"sig":"MEUCIQCXOVJAO1hoYzTu75hu7ntEWUSIWuTQnc0iLNrkInjt4wIgLtXZYHMU//mIzjHppvzDciU93iFlIymWSinpUIemjfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-15.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/22f49022d41d97f1506092919ed1c998/cogitator-ai-openai-compat-15.0.0.tgz","_integrity":"sha512-Ch+qKaAW2PrKm8SB7vtv5bUYyIZQIuuXVU0GMtLVu2Lp0lMw7Ag1SFkh/FDi2xjI+vhud7utQR0o0Va7TFaPvg==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.14.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.14.0","@cogitator-ai/types":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_15.0.0_1769185203421_0.8933774673913153","host":"s3://npm-registry-packages-npm-production"}},"16.0.0":{"name":"@cogitator-ai/openai-compat","version":"16.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@16.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"7c824eaff9480261afddecaab47803518441d931","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-16.0.0.tgz","fileCount":51,"integrity":"sha512-gxapQU0I2QRwGu7naWM7pyE2i4X9CCqHXwVP/5NZZ25QbJ3gyvlL2xLx/kdQlmcyQcBSy+9lEQ5JujCX8tZULA==","signatures":[{"sig":"MEYCIQCvcHYZjDG+f+C6uCI67fA1h85PCyBJMkk1kYVJ2mm73QIhAKLXBFDebykBcBvFpdBE9TDSY9AoRFyygOwXaW2ocbtd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-16.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/4946b024fed89a09cf129e5f6a064a5f/cogitator-ai-openai-compat-16.0.0.tgz","_integrity":"sha512-gxapQU0I2QRwGu7naWM7pyE2i4X9CCqHXwVP/5NZZ25QbJ3gyvlL2xLx/kdQlmcyQcBSy+9lEQ5JujCX8tZULA==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.15.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.15.0","@cogitator-ai/types":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_16.0.0_1769185783245_0.34376392219562724","host":"s3://npm-registry-packages-npm-production"}},"17.0.0":{"name":"@cogitator-ai/openai-compat","version":"17.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@17.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"efef58d4cc83bd9b68ea2e45ffdd9610d5cfd71a","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-17.0.0.tgz","fileCount":51,"integrity":"sha512-6vsaLcDV1Jvp8K74/llOBf2kZv8dQEL5G3RntedeRscqxaX4RpuZ9h9daq+AgAozj8+kxud7/VTeTHPZAzqXlQ==","signatures":[{"sig":"MEUCIFf7AK/ao9mWT7srgC4FjRXvcv/Z5zk+8JgZrcaE4fHFAiEA6IHI14nl2RwxgyQ5ec+cbd+ZBGgV1gSgdr0JXxA+OzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-17.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/5c70bf771dab581e8cd0104b6aa5c579/cogitator-ai-openai-compat-17.0.0.tgz","_integrity":"sha512-6vsaLcDV1Jvp8K74/llOBf2kZv8dQEL5G3RntedeRscqxaX4RpuZ9h9daq+AgAozj8+kxud7/VTeTHPZAzqXlQ==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.16.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.16.0","@cogitator-ai/types":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_17.0.0_1769250454276_0.8530475302999696","host":"s3://npm-registry-packages-npm-production"}},"18.0.0":{"name":"@cogitator-ai/openai-compat","version":"18.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@18.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"7af22ec280c5668f2ebc9122e526a21076e6a51e","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-18.0.0.tgz","fileCount":51,"integrity":"sha512-5EmBP0w6birfj4LKiWapuuB7bC1bTmt26MR/KedBMtUNUHWe+BPgTzlT6HNENwHrUSiJhZpVXl+yrO7hzM3zKg==","signatures":[{"sig":"MEYCIQDokNa4leOdKRRXVSGP0DHy8XgKl21eN0f0uZHdOdOtWAIhALSS3qBYWE/M1Y6fccS9+u2UZd0J2foSHQPz64HpW8CG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-18.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/feda58cf4e83022fcbcf729d418fda7c/cogitator-ai-openai-compat-18.0.0.tgz","_integrity":"sha512-5EmBP0w6birfj4LKiWapuuB7bC1bTmt26MR/KedBMtUNUHWe+BPgTzlT6HNENwHrUSiJhZpVXl+yrO7hzM3zKg==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.17.0","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.17.0","@cogitator-ai/types":"0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_18.0.0_1769251980216_0.2336865464830089","host":"s3://npm-registry-packages-npm-production"}},"19.0.0":{"name":"@cogitator-ai/openai-compat","version":"19.0.0","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.0","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"63d992cf0057113e24a450a0d5153589bd8b0a51","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.0.tgz","fileCount":51,"integrity":"sha512-849U9DAHnf41V6tlQyvFGHfc2MdDcESKPnxY4BOiH+XoV9gacfC6Rzgr8SgGiObtgYXOX5/FZCaBZjfHxkgQxA==","signatures":[{"sig":"MEUCIQCsI7PiK9NOfd8eTzYAgV85OTgJJPB3hqFypwvP6BxrFwIgXMClYQIseBpnJEelpbyKbeMVFr5CKK0AyVA2jjbdPFE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-19.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/fca8c867bbcf3a56f0d3617e1721b78d/cogitator-ai-openai-compat-19.0.0.tgz","_integrity":"sha512-849U9DAHnf41V6tlQyvFGHfc2MdDcESKPnxY4BOiH+XoV9gacfC6Rzgr8SgGiObtgYXOX5/FZCaBZjfHxkgQxA==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.17.1","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.17.1","@cogitator-ai/types":"0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.0_1769254771218_0.9279628045080175","host":"s3://npm-registry-packages-npm-production"}},"19.0.1":{"name":"@cogitator-ai/openai-compat","version":"19.0.1","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.1","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/eL1fe/cogitator#readme","bugs":{"url":"https://github.com/eL1fe/cogitator/issues"},"dist":{"shasum":"a56042294dfd7c7f61f34f8807e8c1903ec4b11f","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.1.tgz","fileCount":51,"integrity":"sha512-YxS0L15mfppyWVF2Rg0v6SG/X+AYX5gh43HeJ3+/sCaLBFIRE7VH8n4guM2+i83/OnD+tLzuhbvbFWwrgwM/xg==","signatures":[{"sig":"MEYCIQDbLdnNYo1e1AuKm9jeZ6sq3a1J8ITRhlJFU/jnYbcHKAIhAP0/rxIHr72+KJUG9jEhEyRvFC78PM7MY+b+7A9EIe72","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203080},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-19.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/743a290cc60a5fd5d570a94a1284a6da/cogitator-ai-openai-compat-19.0.1.tgz","_integrity":"sha512-YxS0L15mfppyWVF2Rg0v6SG/X+AYX5gh43HeJ3+/sCaLBFIRE7VH8n4guM2+i83/OnD+tLzuhbvbFWwrgwM/xg==","repository":{"url":"git+https://github.com/eL1fe/cogitator.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.0","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.17.2","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.17.2","@cogitator-ai/types":"0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.1_1769258191665_0.09184770278970711","host":"s3://npm-registry-packages-npm-production"}},"19.0.4":{"name":"@cogitator-ai/openai-compat","version":"19.0.4","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.4","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"dist":{"shasum":"81984db660cad0322cd712374decb42a6cee4321","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.4.tgz","fileCount":50,"integrity":"sha512-uaR9RaZzA/CdFzcd0H5Y0XSl6Sgx5T7w2AnkXL/0baCtcp3PvxxSIyg3C7VD9fIsjcUQpCXHeN7ya/Gzv4qsLA==","signatures":[{"sig":"MEUCIAFMWeNHWivIgJ3/8pR0eBasJ0kna5rR8DlribgoglR8AiEA577nUOhoWWypEBDmexp7FY+Qixo2C9QSCJTjEfJkBmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202099},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"68ae52328fec8aa8e62b0dfb996c7bef0c2b441b","scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^4.3.6","nanoid":"^5.1.5","fastify":"^5.2.3","@types/node":"^25.0.10","@fastify/cors":"^11.0.1","@cogitator-ai/core":"workspace:*","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"workspace:*"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.4_1769446800640_0.6997749384980378","host":"s3://npm-registry-packages-npm-production"}},"19.0.5":{"name":"@cogitator-ai/openai-compat","version":"19.0.5","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.5","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"dist":{"shasum":"0557a4bcef5fd79fbb5501c957dabf7ffaac037e","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.5.tgz","fileCount":50,"integrity":"sha512-PIErh/bo1cQ/wqdkrwhU+twOSVcyHuIPqfLSRJki06HY/y5/nS3xx1mCjoQHWmLdHhtVQZijBLpl/CSy01sezA==","signatures":[{"sig":"MEUCIFGuRlbmrDv6TMTVPu4lyMRz/MbHli5gOFHHRCMd5Hr0AiEA/JK+xzrNWiLO1WIvaEG3Lg06Kcxz6oznujbi2p1NOKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202099},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a6b9adee17ab69490d006ebca129a24d50e90b0f","scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^4.3.6","nanoid":"^5.1.5","fastify":"^5.7.4","@types/node":"^25.0.10","@fastify/cors":"^11.0.1","@cogitator-ai/core":"workspace:*","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"workspace:*"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.5_1771596860220_0.9638360025121815","host":"s3://npm-registry-packages-npm-production"}},"19.0.8":{"name":"@cogitator-ai/openai-compat","version":"19.0.8","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.8","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"dist":{"shasum":"53af9ed9d78993447d42ba8d278c32fd7d564238","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.8.tgz","fileCount":50,"integrity":"sha512-QwR1u7QN9IVUHCVBuaSL77xV/hCYDtIKHqC9oH4h4GMdGkdanxHQpp6RdUkZftzmUfdkMbTW+UZoCQYPseTNJA==","signatures":[{"sig":"MEYCIQD2d98aohzEf+NfID6Ssi6eawW4pksSXje/hdDp0y+uOwIhANTK+RD9iSHn6bKNGALoDez8qJ3Ysq06w5AyUyAGT+fV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202099},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f508be4a1a30c7bd136f0fa8b2e6cee5521416ab","scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^4.3.6","nanoid":"^5.1.5","fastify":"^5.7.4","@types/node":"^25.0.10","@fastify/cors":"^11.0.1","@cogitator-ai/core":"workspace:*","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"workspace:*"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.3.0","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.8_1772035700067_0.7082807570783165","host":"s3://npm-registry-packages-npm-production"}},"19.0.9":{"name":"@cogitator-ai/openai-compat","version":"19.0.9","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.9","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"dist":{"shasum":"59f6af9860df62e067bd857dd04e76cfe77c5487","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.9.tgz","fileCount":50,"integrity":"sha512-OCHEZViLqGbtMeLY22B3X8nl8v5VQ4esfP3EhPx804JqVZjQFaRnryfHjKcdsr09JDRMgj3iTRe+V/YbdRjLcA==","signatures":[{"sig":"MEUCIBzrbiEv+WHSrImEk95NklUOjuy6Uft8m7vJwylciIA/AiEA32o+8v7zVwkl2a3I1GniMP0zhZmm88Tsv21XW82S+cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205382},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"467575702503c3581cb717f8aef8a72e1d8ae492","scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"nanoid":"^5.1.5","fastify":"^5.7.4","@fastify/cors":"^11.0.1","@cogitator-ai/core":"workspace:*","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"workspace:*"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.3.0","@types/node":"^25.0.10","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.9_1772043608975_0.11957855570446307","host":"s3://npm-registry-packages-npm-production"}},"19.0.15":{"name":"@cogitator-ai/openai-compat","version":"19.0.15","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.15","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"dist":{"shasum":"9677cb3d28b572403a8a91726b993bb64ba179b8","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.15.tgz","fileCount":50,"integrity":"sha512-OzQyaCdnPImwsSpnGtuR7KYRTobVLEjeGipfJ7rzvxsj+r2iCRQlwBLowk4om1DydOox+NcPrqCX2ZhAVaBXpA==","signatures":[{"sig":"MEUCIQDejeJK/N+8q7mfCmY0bTh3cmP5BbpA6/jBRh3yq9tTZAIgJHRjRapEW1n+6MXUOc67s9sVckVB9gupC+z17aTB31I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205484},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"33b6a8cb29bfdd7d2255acfa240b2df5d558354e","scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"nanoid":"^5.1.5","fastify":"^5.7.4","@fastify/cors":"^11.0.1","@cogitator-ai/core":"workspace:*","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"workspace:*"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.3.0","@types/node":"^25.0.10","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.15_1778881387400_0.24861229024155618","host":"s3://npm-registry-packages-npm-production"}},"19.0.16":{"name":"@cogitator-ai/openai-compat","version":"19.0.16","license":"MIT","_id":"@cogitator-ai/openai-compat@19.0.16","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"dist":{"shasum":"e3c4bfbca010c0bd77c8b4e6e900cddf5db18c1b","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.16.tgz","fileCount":51,"integrity":"sha512-vJoQCbdkJGQGRnP399IN5ILl66BmM9HBCgNepU85hyyv516FlrMHaxisypFxleFnPML8qyt/cysqG8DE8fB+2A==","signatures":[{"sig":"MEUCIQDz2x1EQkCSJMKgaobM1VbxSnZe/1dlIroy9w/BGD6w+gIgfsODBWhttzDnjZDBtvKI8yC2/pFfGQ0HynnRkX2bFJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206542},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-openai-compat-19.0.16.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/fdc0d10fcfa3e4c05735c76f3aae1632/cogitator-ai-openai-compat-19.0.16.tgz","_integrity":"sha512-vJoQCbdkJGQGRnP399IN5ILl66BmM9HBCgNepU85hyyv516FlrMHaxisypFxleFnPML8qyt/cysqG8DE8fB+2A==","repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/openai-compat"},"_npmVersion":"10.9.0","description":"OpenAI Assistants API compatibility layer for Cogitator","directories":{},"_nodeVersion":"22.11.0","dependencies":{"nanoid":"^5.1.5","fastify":"^5.7.4","@fastify/cors":"^11.0.1","@cogitator-ai/core":"0.19.3","@fastify/multipart":"^9.3.0","@cogitator-ai/types":"0.22.2"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.3.0","@types/node":"^25.0.10","@types/busboy":"^1.5.4"},"peerDependencies":{"@cogitator-ai/core":"0.19.3","@cogitator-ai/types":"0.22.2"},"_npmOperationalInternal":{"tmp":"tmp/openai-compat_19.0.16_1778882291727_0.773302748081109","host":"s3://npm-registry-packages-npm-production"}},"19.0.17":{"name":"@cogitator-ai/openai-compat","version":"19.0.17","description":"OpenAI Assistants API compatibility layer for Cogitator","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@fastify/cors":"^11.0.1","@fastify/multipart":"^9.3.0","fastify":"^5.7.4","nanoid":"^5.1.5","@cogitator-ai/core":"0.19.4","@cogitator-ai/types":"0.22.3"},"devDependencies":{"@types/busboy":"^1.5.4","@types/node":"^25.0.10","typescript":"^5.3.0","vitest":"^4.0.18"},"peerDependencies":{"@cogitator-ai/core":"0.19.4","@cogitator-ai/types":"0.22.3"},"engines":{"node":">=20.0.0"},"repository":{"type":"git","url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","directory":"packages/openai-compat"},"publishConfig":{"access":"public","registry":"https://npm.pkg.github.com"},"license":"MIT","scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","lint":"eslint src","clean":"rm -rf dist"},"_id":"@cogitator-ai/openai-compat@19.0.17","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","_integrity":"sha512-Rssc6IC1w5HF5by/IsQlYykFbYuVS8ghGM4YdQMT7giYyW0wYqjBfNmCHA6+czklRot6GRnNFa478GGMRg7qMQ==","_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/cc2e77709b9c4ddba5bba326ba6d6740/cogitator-ai-openai-compat-19.0.17.tgz","_from":"file:cogitator-ai-openai-compat-19.0.17.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-Rssc6IC1w5HF5by/IsQlYykFbYuVS8ghGM4YdQMT7giYyW0wYqjBfNmCHA6+czklRot6GRnNFa478GGMRg7qMQ==","shasum":"da9d7e0b62e9091fe1f786a16064eee5bdaade58","tarball":"https://registry.npmjs.org/@cogitator-ai/openai-compat/-/openai-compat-19.0.17.tgz","fileCount":51,"unpackedSize":206542,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDh95+mWob2NrjZ6JEIsJi0GXML4bYl3Wi/QnyY+58VWgIgUD/uv13w1bXPkTQReHOiljEgAvEvZWKF6LpKftDaUQU="}]},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"directories":{},"maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openai-compat_19.0.17_1785059698929_0.5444802040055778"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-31T09:04:45.123Z","modified":"2026-07-26T09:54:59.292Z","0.1.0":"2025-12-31T09:04:45.357Z","1.1.0":"2025-12-31T18:14:21.119Z","2.0.0":"2025-12-31T21:06:20.948Z","3.0.0":"2026-01-01T12:56:58.451Z","4.0.0":"2026-01-04T09:19:44.845Z","5.0.0":"2026-01-04T20:49:10.249Z","5.0.1":"2026-01-04T20:52:39.084Z","6.0.0":"2026-01-20T10:14:58.231Z","7.0.0":"2026-01-20T10:51:56.078Z","8.0.0":"2026-01-20T11:27:31.416Z","9.0.0":"2026-01-20T11:48:53.573Z","10.0.0":"2026-01-20T13:32:59.450Z","10.0.1":"2026-01-23T11:29:08.489Z","10.0.2":"2026-01-23T12:27:28.550Z","11.0.0":"2026-01-23T13:29:41.367Z","12.0.0":"2026-01-23T14:37:10.852Z","12.0.1":"2026-01-23T15:20:01.663Z","13.0.0":"2026-01-23T15:46:25.822Z","15.0.0":"2026-01-23T16:20:03.560Z","16.0.0":"2026-01-23T16:29:43.387Z","17.0.0":"2026-01-24T10:27:34.409Z","18.0.0":"2026-01-24T10:53:00.378Z","19.0.0":"2026-01-24T11:39:31.409Z","19.0.1":"2026-01-24T12:36:31.818Z","19.0.4":"2026-01-26T17:00:00.811Z","19.0.5":"2026-02-20T14:14:20.372Z","19.0.8":"2026-02-25T16:08:20.289Z","19.0.9":"2026-02-25T18:20:09.148Z","19.0.15":"2026-05-15T21:43:07.567Z","19.0.16":"2026-05-15T21:58:11.885Z","19.0.17":"2026-07-26T09:54:59.107Z"},"bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"license":"MIT","homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","repository":{"type":"git","url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","directory":"packages/openai-compat"},"description":"OpenAI Assistants API compatibility layer for Cogitator","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"readme":"# @cogitator-ai/openai-compat\n\nOpenAI Assistants API compatibility layer for Cogitator. Use OpenAI SDK clients with Cogitator backend, or integrate Cogitator with existing OpenAI-based applications.\n\n## Installation\n\n```bash\npnpm add @cogitator-ai/openai-compat\n```\n\n## Features\n\n- **OpenAI Server** - Expose Cogitator as OpenAI-compatible REST API\n- **OpenAI Adapter** - In-process adapter for programmatic access\n- **Thread Manager** - Manage conversations, messages, and assistants\n- **Persistent Storage** - Pluggable backends: In-memory, Redis, PostgreSQL\n- **SSE Streaming** - Real-time token streaming with OpenAI-compatible events\n- **File Operations** - Upload and manage files for assistants\n- **Full Assistants API** - Create, update, delete assistants\n- **Run Management** - Execute runs with tool support\n- **Authentication** - Optional API key authentication\n- **CORS Support** - Configurable cross-origin requests\n\n---\n\n## Quick Start\n\n### Server Mode\n\n```typescript\nimport { createOpenAIServer } from '@cogitator-ai/openai-compat';\nimport { Cogitator, tool } from '@cogitator-ai/core';\nimport { z } from 'zod';\n\nconst calculator = tool({\n  name: 'calculator',\n  description: 'Perform calculations',\n  parameters: z.object({\n    expression: z.string(),\n  }),\n  execute: async ({ expression }) => eval(expression).toString(),\n});\n\nconst cogitator = new Cogitator({\n  defaultModel: 'openai/gpt-4o-mini',\n});\n\nconst server = createOpenAIServer(cogitator, {\n  port: 8080,\n  tools: [calculator],\n  apiKeys: ['sk-my-secret-key'],\n});\n\nawait server.start();\n// Server is now available at http://localhost:8080\n```\n\n### Client Mode\n\n```typescript\nimport OpenAI from 'openai';\n\nconst openai = new OpenAI({\n  baseURL: 'http://localhost:8080/v1',\n  apiKey: 'sk-my-secret-key',\n});\n\nconst assistant = await openai.beta.assistants.create({\n  name: 'Math Tutor',\n  instructions: 'You help with math problems',\n  model: 'ollama/llama3.2:latest',\n});\n\nconst thread = await openai.beta.threads.create();\n\nawait openai.beta.threads.messages.create(thread.id, {\n  role: 'user',\n  content: 'What is 2 + 2?',\n});\n\nconst run = await openai.beta.threads.runs.create(thread.id, {\n  assistant_id: assistant.id,\n});\n\n// Poll for completion\nlet status = run.status;\nwhile (status === 'queued' || status === 'in_progress') {\n  await new Promise((r) => setTimeout(r, 1000));\n  const updated = await openai.beta.threads.runs.retrieve(thread.id, run.id);\n  status = updated.status;\n}\n\nconst messages = await openai.beta.threads.messages.list(thread.id);\nconsole.log(messages.data[0].content);\n```\n\n---\n\n## OpenAI Server\n\nThe `OpenAIServer` exposes Cogitator as an OpenAI-compatible REST API.\n\n### Configuration\n\n```typescript\nimport { OpenAIServer, createOpenAIServer } from '@cogitator-ai/openai-compat';\n\nconst server = new OpenAIServer(cogitator, {\n  port: 8080,\n  host: '0.0.0.0',\n\n  apiKeys: ['sk-key1', 'sk-key2'],\n\n  tools: [calculator, datetime, webSearch],\n\n  logging: true,\n\n  cors: {\n    origin: ['http://localhost:3000', 'https://myapp.com'],\n    methods: ['GET', 'POST', 'DELETE', 'OPTIONS'],\n  },\n});\n```\n\n### Configuration Options\n\n| Option         | Type                            | Default                                | Description                                      |\n| -------------- | ------------------------------- | -------------------------------------- | ------------------------------------------------ |\n| `port`         | `number`                        | `8080`                                 | Port to listen on                                |\n| `host`         | `string`                        | `'0.0.0.0'`                            | Host to bind to                                  |\n| `apiKeys`      | `string[]`                      | `[]`                                   | API keys for authentication. Empty disables auth |\n| `tools`        | `Tool[]`                        | `[]`                                   | Tools available to assistants                    |\n| `logging`      | `boolean`                       | `false`                                | Enable request logging                           |\n| `cors.origin`  | `string \\| string[] \\| boolean` | `true`                                 | CORS origin configuration                        |\n| `cors.methods` | `string[]`                      | `['GET', 'POST', 'DELETE', 'OPTIONS']` | Allowed HTTP methods                             |\n\n### Server Lifecycle\n\n```typescript\nawait server.start();\n\nconsole.log(server.getUrl());\nconsole.log(server.getBaseUrl());\n\nconsole.log(server.isRunning());\n\nconst adapter = server.getAdapter();\n\nawait server.stop();\n```\n\n### Health Check\n\nThe server provides a health endpoint:\n\n```bash\ncurl http://localhost:8080/health\n# {\"status\":\"ok\"}\n```\n\n---\n\n## OpenAI Adapter\n\nThe `OpenAIAdapter` provides in-process access without running a server.\n\n```typescript\nimport { OpenAIAdapter, createOpenAIAdapter } from '@cogitator-ai/openai-compat';\n\nconst adapter = createOpenAIAdapter(cogitator, {\n  tools: [calculator],\n});\n```\n\n### Assistant Management\n\n```typescript\nconst assistant = await adapter.createAssistant({\n  model: 'openai/gpt-4o',\n  name: 'Code Helper',\n  instructions: 'You help write code',\n  temperature: 0.7,\n  tools: [{ type: 'code_interpreter' }],\n  metadata: { category: 'development' },\n});\n\nconst fetched = await adapter.getAssistant(assistant.id);\n\nconst updated = await adapter.updateAssistant(assistant.id, {\n  name: 'Code Expert',\n  temperature: 0.5,\n});\n\nconst all = await adapter.listAssistants();\n\nconst deleted = await adapter.deleteAssistant(assistant.id);\n```\n\n### Thread Operations\n\n```typescript\nconst thread = await adapter.createThread({ project: 'demo' });\n\nconst fetched = await adapter.getThread(thread.id);\n\nconst message = await adapter.addMessage(thread.id, {\n  role: 'user',\n  content: 'Hello, how are you?',\n  metadata: { source: 'web' },\n});\n\nconst messages = await adapter.listMessages(thread.id, {\n  limit: 20,\n  order: 'asc',\n  after: 'msg_abc123',\n  before: 'msg_xyz789',\n  run_id: 'run_123',\n});\n\nconst msg = await adapter.getMessage(thread.id, 'msg_abc123');\n\nawait adapter.deleteThread(thread.id);\n```\n\n### Run Execution\n\n```typescript\nconst run = await adapter.createRun(thread.id, {\n  assistant_id: assistant.id,\n  model: 'openai/gpt-4o',\n  instructions: 'Be concise',\n  temperature: 0.5,\n  additional_messages: [{ role: 'user', content: 'Extra context' }],\n  metadata: { source: 'api' },\n});\n\nconst status = adapter.getRun(thread.id, run.id);\n\nconst cancelled = adapter.cancelRun(thread.id, run.id);\n```\n\n### Tool Outputs\n\n```typescript\nconst run = adapter.getRun(thread.id, runId);\n\nif (run?.status === 'requires_action') {\n  const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n\n  const outputs = await Promise.all(\n    toolCalls!.map(async (call) => ({\n      tool_call_id: call.id,\n      output: await executeMyTool(call.function.name, call.function.arguments),\n    }))\n  );\n\n  await adapter.submitToolOutputs(thread.id, runId, {\n    tool_outputs: outputs,\n  });\n}\n```\n\n---\n\n## Thread Manager\n\nThe `ThreadManager` handles storage for threads, messages, assistants, and files.\n\n```typescript\nimport { ThreadManager } from '@cogitator-ai/openai-compat';\n\nconst manager = new ThreadManager();\n```\n\n### Assistant Storage\n\n```typescript\ninterface StoredAssistant {\n  id: string;\n  name: string | null;\n  model: string;\n  instructions: string | null;\n  tools: AssistantTool[];\n  metadata: Record<string, string>;\n  temperature?: number;\n  created_at: number;\n}\n\nconst assistant = await manager.createAssistant({\n  model: 'gpt-4o',\n  name: 'Helper',\n  instructions: 'Be helpful',\n});\n\nconst fetched = await manager.getAssistant(assistant.id);\nconst updated = await manager.updateAssistant(assistant.id, { name: 'Expert' });\nconst all = await manager.listAssistants();\nawait manager.deleteAssistant(assistant.id);\n```\n\n### Thread Storage\n\n```typescript\nconst thread = await manager.createThread({ key: 'value' });\nconst fetched = await manager.getThread(thread.id);\nawait manager.deleteThread(thread.id);\n```\n\n### Message Operations\n\n```typescript\nconst message = await manager.addMessage(thread.id, {\n  role: 'user',\n  content: 'Hello!',\n});\n\nconst assistantMsg = await manager.addAssistantMessage(\n  thread.id,\n  'Hi there!',\n  assistant.id,\n  run.id\n);\n\nconst messages = await manager.listMessages(thread.id, {\n  limit: 50,\n  order: 'desc',\n});\n\nconst llmMessages = await manager.getMessagesForLLM(thread.id);\n```\n\n### File Management\n\n```typescript\nconst file = await manager.addFile(Buffer.from('file content'), 'document.txt');\n\nconst fetched = await manager.getFile(file.id);\n\nconst all = await manager.listFiles();\n\nawait manager.deleteFile(file.id);\n```\n\n---\n\n## Persistent Storage\n\nBy default, ThreadManager uses in-memory storage. For production, use Redis or PostgreSQL backends.\n\n### Storage Backends\n\n```typescript\nimport {\n  ThreadManager,\n  InMemoryThreadStorage,\n  RedisThreadStorage,\n  PostgresThreadStorage,\n  createThreadStorage,\n} from '@cogitator-ai/openai-compat';\n```\n\n### In-Memory (Default)\n\n```typescript\nconst manager = new ThreadManager();\n// or explicitly:\nconst manager = new ThreadManager(new InMemoryThreadStorage());\n```\n\n### Redis Storage\n\nRequires `ioredis` peer dependency:\n\n```bash\npnpm add ioredis\n```\n\n```typescript\nconst storage = new RedisThreadStorage({\n  host: 'localhost',\n  port: 6379,\n  keyPrefix: 'cogitator:openai:', // optional, default: 'cogitator:openai:'\n  ttl: 86400, // optional, default: 86400 (24h)\n});\nawait storage.connect();\n\nconst manager = new ThreadManager(storage);\n\n// When done:\nawait storage.disconnect();\n```\n\nWith connection URL:\n\n```typescript\nconst storage = new RedisThreadStorage({\n  url: 'redis://user:pass@localhost:6379/0',\n});\n```\n\n### PostgreSQL Storage\n\nRequires `pg` peer dependency:\n\n```bash\npnpm add pg\n```\n\n```typescript\nconst storage = new PostgresThreadStorage({\n  connectionString: 'postgresql://user:pass@localhost:5432/db',\n  schema: 'public', // optional, default: 'public'\n  tableName: 'openai_compat_data', // optional, default: 'openai_compat_data'\n});\nawait storage.connect();\n\nconst manager = new ThreadManager(storage);\n\n// When done:\nawait storage.disconnect();\n```\n\n### Factory Function\n\n```typescript\n// In-memory (default)\nconst storage = createThreadStorage();\n// or: createThreadStorage({ type: 'memory' })\n\n// Redis\nconst storage = createThreadStorage({\n  type: 'redis',\n  host: 'localhost',\n  port: 6379,\n});\nawait storage.connect!();\n\n// PostgreSQL\nconst storage = createThreadStorage({\n  type: 'postgres',\n  connectionString: 'postgresql://localhost/db',\n});\nawait storage.connect!();\n```\n\n### Using with OpenAI Adapter\n\n```typescript\nimport { OpenAIAdapter, ThreadManager, RedisThreadStorage } from '@cogitator-ai/openai-compat';\nimport { Cogitator } from '@cogitator-ai/core';\n\nconst storage = new RedisThreadStorage({ host: 'localhost' });\nawait storage.connect();\n\n// Create ThreadManager with persistent storage\nconst manager = new ThreadManager(storage);\n\n// Use the adapter in-process (for custom server integrations)\nconst cogitator = new Cogitator({ defaultModel: 'openai/gpt-4o' });\nconst adapter = new OpenAIAdapter(cogitator, { tools: [] });\n```\n\n### ThreadStorage Interface\n\nAll storage backends implement this interface:\n\n```typescript\ninterface ThreadStorage {\n  // Threads\n  saveThread(id: string, thread: StoredThread): Promise<void>;\n  loadThread(id: string): Promise<StoredThread | null>;\n  deleteThread(id: string): Promise<boolean>;\n  listThreads(): Promise<StoredThread[]>;\n\n  // Assistants\n  saveAssistant(id: string, assistant: StoredAssistant): Promise<void>;\n  loadAssistant(id: string): Promise<StoredAssistant | null>;\n  deleteAssistant(id: string): Promise<boolean>;\n  listAssistants(): Promise<StoredAssistant[]>;\n\n  // Files\n  saveFile(id: string, file: StoredFile): Promise<void>;\n  loadFile(id: string): Promise<StoredFile | null>;\n  deleteFile(id: string): Promise<boolean>;\n  listFiles(): Promise<StoredFile[]>;\n\n  // Lifecycle (optional)\n  connect?(): Promise<void>;\n  disconnect?(): Promise<void>;\n}\n```\n\n### Custom Storage Implementation\n\n```typescript\nimport type { ThreadStorage } from '@cogitator-ai/openai-compat';\n\nclass MyCustomStorage implements ThreadStorage {\n  async saveThread(id: string, thread: StoredThread): Promise<void> {\n    // Your implementation\n  }\n  // ... implement all methods\n}\n\nconst manager = new ThreadManager(new MyCustomStorage());\n```\n\n---\n\n## Supported Endpoints\n\n### Models\n\n| Method | Endpoint     | Description           |\n| ------ | ------------ | --------------------- |\n| GET    | `/v1/models` | List available models |\n\n### Assistants\n\n| Method | Endpoint             | Description      |\n| ------ | -------------------- | ---------------- |\n| POST   | `/v1/assistants`     | Create assistant |\n| GET    | `/v1/assistants`     | List assistants  |\n| GET    | `/v1/assistants/:id` | Get assistant    |\n| POST   | `/v1/assistants/:id` | Update assistant |\n| DELETE | `/v1/assistants/:id` | Delete assistant |\n\n### Threads\n\n| Method | Endpoint          | Description   |\n| ------ | ----------------- | ------------- |\n| POST   | `/v1/threads`     | Create thread |\n| GET    | `/v1/threads/:id` | Get thread    |\n| DELETE | `/v1/threads/:id` | Delete thread |\n\n### Messages\n\n| Method | Endpoint                           | Description   |\n| ------ | ---------------------------------- | ------------- |\n| POST   | `/v1/threads/:id/messages`         | Add message   |\n| GET    | `/v1/threads/:id/messages`         | List messages |\n| GET    | `/v1/threads/:id/messages/:msg_id` | Get message   |\n\n### Runs\n\n| Method | Endpoint                                           | Description         |\n| ------ | -------------------------------------------------- | ------------------- |\n| POST   | `/v1/threads/:id/runs`                             | Create run          |\n| GET    | `/v1/threads/:id/runs/:run_id`                     | Get run status      |\n| POST   | `/v1/threads/:id/runs/:run_id/cancel`              | Cancel run          |\n| POST   | `/v1/threads/:id/runs/:run_id/submit_tool_outputs` | Submit tool outputs |\n\n### Files\n\n| Method | Endpoint                | Description           |\n| ------ | ----------------------- | --------------------- |\n| POST   | `/v1/files`             | Upload file           |\n| GET    | `/v1/files`             | List files            |\n| GET    | `/v1/files/:id`         | Get file metadata     |\n| GET    | `/v1/files/:id/content` | Download file content |\n| DELETE | `/v1/files/:id`         | Delete file           |\n\n---\n\n## Error Handling\n\nThe server returns OpenAI-compatible error responses:\n\n```typescript\ninterface OpenAIError {\n  error: {\n    message: string;\n    type: string;\n    param?: string;\n    code?: string;\n  };\n}\n```\n\n### Error Types\n\n| HTTP Status | Type                    | Description                |\n| ----------- | ----------------------- | -------------------------- |\n| 400         | `invalid_request_error` | Invalid request parameters |\n| 401         | `authentication_error`  | Invalid or missing API key |\n| 404         | `invalid_request_error` | Resource not found         |\n| 500         | `server_error`          | Internal server error      |\n\n### Client-Side Error Handling\n\n```typescript\ntry {\n  const run = await openai.beta.threads.runs.create(threadId, {\n    assistant_id: 'invalid-id',\n  });\n} catch (error) {\n  if (error instanceof OpenAI.APIError) {\n    console.log(error.status);\n    console.log(error.message);\n    console.log(error.code);\n  }\n}\n```\n\n---\n\n## Run Status\n\nRuns go through the following states:\n\n```typescript\ntype RunStatus =\n  | 'queued'\n  | 'in_progress'\n  | 'requires_action'\n  | 'cancelling'\n  | 'cancelled'\n  | 'failed'\n  | 'completed'\n  | 'incomplete'\n  | 'expired';\n```\n\n### Status Flow\n\n```\nqueued → in_progress → completed\n                     → failed\n                     → requires_action → in_progress → ...\n\nin_progress → cancelling → cancelled\n```\n\n### Polling for Completion\n\n```typescript\nasync function waitForRun(openai: OpenAI, threadId: string, runId: string): Promise<Run> {\n  const terminalStates = ['completed', 'failed', 'cancelled', 'expired'];\n\n  while (true) {\n    const run = await openai.beta.threads.runs.retrieve(threadId, runId);\n\n    if (terminalStates.includes(run.status)) {\n      return run;\n    }\n\n    if (run.status === 'requires_action') {\n      return run;\n    }\n\n    await new Promise((r) => setTimeout(r, 1000));\n  }\n}\n```\n\n---\n\n## SSE Streaming\n\nReal-time streaming support with Server-Sent Events (SSE). Streams tokens as they are generated for immediate feedback.\n\n### Streaming with OpenAI SDK\n\n```typescript\nconst run = await openai.beta.threads.runs.create(threadId, {\n  assistant_id: assistant.id,\n  stream: true, // Enable streaming\n});\n\n// Handle streaming events\nfor await (const event of run) {\n  if (event.event === 'thread.message.delta') {\n    const delta = event.data.delta;\n    if (delta.content) {\n      for (const content of delta.content) {\n        if (content.type === 'text' && content.text?.value) {\n          process.stdout.write(content.text.value);\n        }\n      }\n    }\n  }\n}\n```\n\n### Create Thread and Run with Streaming\n\n```typescript\nconst run = await openai.beta.threads.createAndRun({\n  assistant_id: assistant.id,\n  thread: {\n    messages: [{ role: 'user', content: 'Hello!' }],\n  },\n  stream: true,\n});\n\n// Process stream\nfor await (const event of run) {\n  console.log(event.event, event.data);\n}\n```\n\n### Stream Events\n\n```typescript\ntype StreamEvent =\n  | { event: 'thread.run.created'; data: Run }\n  | { event: 'thread.run.queued'; data: Run }\n  | { event: 'thread.run.in_progress'; data: Run }\n  | { event: 'thread.run.requires_action'; data: Run }\n  | { event: 'thread.run.completed'; data: Run }\n  | { event: 'thread.run.failed'; data: Run }\n  | { event: 'thread.run.cancelled'; data: Run }\n  | { event: 'thread.message.created'; data: Message }\n  | { event: 'thread.message.in_progress'; data: Message }\n  | { event: 'thread.message.delta'; data: MessageDelta }\n  | { event: 'thread.message.completed'; data: Message }\n  | { event: 'done'; data: '[DONE]' };\n```\n\n### Message Delta Format\n\n```typescript\ninterface MessageDelta {\n  id: string;\n  object: 'thread.message.delta';\n  delta: {\n    content?: {\n      index: number;\n      type: 'text';\n      text?: { value?: string };\n    }[];\n  };\n}\n```\n\n### Raw SSE Endpoint\n\nFor non-SDK usage, the SSE stream is available at:\n\n```\nPOST /v1/threads/{thread_id}/runs\nContent-Type: application/json\n\n{\n  \"assistant_id\": \"asst_xxx\",\n  \"stream\": true\n}\n```\n\nResponse format (Server-Sent Events):\n\n```\nevent: thread.run.created\ndata: {\"id\":\"run_xxx\",\"status\":\"queued\",...}\n\nevent: thread.run.in_progress\ndata: {\"id\":\"run_xxx\",\"status\":\"in_progress\",...}\n\nevent: thread.message.created\ndata: {\"id\":\"msg_xxx\",\"status\":\"in_progress\",...}\n\nevent: thread.message.delta\ndata: {\"id\":\"msg_xxx\",\"delta\":{\"content\":[{\"index\":0,\"type\":\"text\",\"text\":{\"value\":\"Hello\"}}]}}\n\nevent: thread.message.delta\ndata: {\"id\":\"msg_xxx\",\"delta\":{\"content\":[{\"index\":1,\"type\":\"text\",\"text\":{\"value\":\" world\"}}]}}\n\nevent: thread.message.completed\ndata: {\"id\":\"msg_xxx\",\"status\":\"completed\",...}\n\nevent: thread.run.completed\ndata: {\"id\":\"run_xxx\",\"status\":\"completed\",...}\n\nevent: done\ndata: [DONE]\n```\n\n---\n\n## Type Reference\n\n### Core Types\n\n```typescript\nimport type {\n  OpenAIError,\n  ListResponse,\n  Assistant,\n  AssistantTool,\n  FunctionDefinition,\n  ResponseFormat,\n  CreateAssistantRequest,\n  UpdateAssistantRequest,\n} from '@cogitator-ai/openai-compat';\n```\n\n### Thread Types\n\n```typescript\nimport type { Thread, ToolResources, CreateThreadRequest } from '@cogitator-ai/openai-compat';\n```\n\n### Message Types\n\n```typescript\nimport type {\n  Message,\n  MessageContent,\n  TextContent,\n  TextAnnotation,\n  Attachment,\n  CreateMessageRequest,\n  MessageContentPart,\n  MessageDelta,\n} from '@cogitator-ai/openai-compat';\n```\n\n### Run Types\n\n```typescript\nimport type {\n  Run,\n  RunStatus,\n  RequiredAction,\n  ToolCall,\n  RunError,\n  Usage,\n  ToolChoice,\n  CreateRunRequest,\n  SubmitToolOutputsRequest,\n  ToolOutput,\n} from '@cogitator-ai/openai-compat';\n```\n\n### Run Step Types\n\n```typescript\nimport type { RunStep, StepDetails, StepToolCall, RunStepDelta } from '@cogitator-ai/openai-compat';\n```\n\n### File Types\n\n```typescript\nimport type { FileObject, FilePurpose, UploadFileRequest } from '@cogitator-ai/openai-compat';\n```\n\n### Stream Types\n\n```typescript\nimport type { StreamEvent, MessageDelta, RunStepDelta } from '@cogitator-ai/openai-compat';\n```\n\n### Storage Types\n\n```typescript\nimport type {\n  ThreadStorage,\n  StoredThread,\n  StoredAssistant,\n  StoredFile,\n  RedisThreadStorageConfig,\n  PostgresThreadStorageConfig,\n} from '@cogitator-ai/openai-compat';\n\nimport {\n  InMemoryThreadStorage,\n  RedisThreadStorage,\n  PostgresThreadStorage,\n  createThreadStorage,\n} from '@cogitator-ai/openai-compat';\n```\n\n---\n\n## Examples\n\n### Chat Bot with Memory\n\n```typescript\nimport { createOpenAIServer } from '@cogitator-ai/openai-compat';\nimport { Cogitator } from '@cogitator-ai/core';\nimport OpenAI from 'openai';\n\nconst cogitator = new Cogitator({\n  defaultModel: 'ollama/llama3.2:latest',\n});\n\nconst server = createOpenAIServer(cogitator, { port: 8080 });\nawait server.start();\n\nconst openai = new OpenAI({\n  baseURL: server.getBaseUrl(),\n  apiKey: 'not-needed',\n});\n\nconst assistant = await openai.beta.assistants.create({\n  name: 'Chat Bot',\n  instructions: 'You are a friendly chat bot. Remember previous messages.',\n  model: 'ollama/llama3.2:latest',\n});\n\nconst thread = await openai.beta.threads.create();\n\nasync function chat(message: string): Promise<string> {\n  await openai.beta.threads.messages.create(thread.id, {\n    role: 'user',\n    content: message,\n  });\n\n  const run = await openai.beta.threads.runs.create(thread.id, {\n    assistant_id: assistant.id,\n  });\n\n  while (true) {\n    const status = await openai.beta.threads.runs.retrieve(thread.id, run.id);\n    if (status.status === 'completed') break;\n    if (status.status === 'failed') throw new Error(status.last_error?.message);\n    await new Promise((r) => setTimeout(r, 500));\n  }\n\n  const messages = await openai.beta.threads.messages.list(thread.id, {\n    limit: 1,\n    order: 'desc',\n  });\n\n  const content = messages.data[0].content[0];\n  return content.type === 'text' ? content.text.value : '';\n}\n\nconsole.log(await chat('Hi, my name is Alex'));\nconsole.log(await chat('What is my name?'));\n```\n\n### Code Assistant with Tools\n\n```typescript\nimport { createOpenAIServer } from '@cogitator-ai/openai-compat';\nimport { Cogitator, tool } from '@cogitator-ai/core';\nimport { z } from 'zod';\nimport OpenAI from 'openai';\n\nconst runCode = tool({\n  name: 'run_code',\n  description: 'Execute Python code',\n  parameters: z.object({\n    code: z.string().describe('Python code to execute'),\n  }),\n  execute: async ({ code }) => {\n    return `Output: ${code.length} characters`;\n  },\n});\n\nconst cogitator = new Cogitator({\n  defaultModel: 'openai/gpt-4o',\n});\n\nconst server = createOpenAIServer(cogitator, {\n  port: 8080,\n  tools: [runCode],\n});\n\nawait server.start();\n\nconst openai = new OpenAI({\n  baseURL: server.getBaseUrl(),\n  apiKey: process.env.OPENAI_API_KEY,\n});\n\nconst assistant = await openai.beta.assistants.create({\n  name: 'Code Runner',\n  instructions: 'You can run Python code using the run_code tool.',\n  model: 'openai/gpt-4o',\n  tools: [{ type: 'function', function: { name: 'run_code' } }],\n});\n```\n\n### File Upload\n\n```typescript\nimport OpenAI from 'openai';\n\nconst openai = new OpenAI({\n  baseURL: 'http://localhost:8080/v1',\n  apiKey: 'key',\n});\n\nconst file = await openai.files.create({\n  file: fs.createReadStream('data.csv'),\n  purpose: 'assistants',\n});\n\nconsole.log('Uploaded:', file.id);\n\nconst content = await openai.files.content(file.id);\nconsole.log('Content:', await content.text());\n\nawait openai.files.del(file.id);\n```\n\n### Multi-Model Setup\n\n```typescript\nconst cogitator = new Cogitator({\n  defaultModel: 'ollama/llama3.2:latest',\n});\n\nconst server = createOpenAIServer(cogitator, { port: 8080 });\nawait server.start();\n\nconst openai = new OpenAI({\n  baseURL: server.getBaseUrl(),\n  apiKey: 'not-needed',\n});\n\nconst localAssistant = await openai.beta.assistants.create({\n  name: 'Local Assistant',\n  model: 'ollama/llama3.2:latest',\n  instructions: 'Fast local responses',\n});\n\nconst cloudAssistant = await openai.beta.assistants.create({\n  name: 'Cloud Assistant',\n  model: 'openai/gpt-4o',\n  instructions: 'Complex reasoning tasks',\n});\n```\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}