{"_id":"@cogitator-ai/express","_rev":"8-17447851040a6f0b2fca728f79df3678","name":"@cogitator-ai/express","dist-tags":{"latest":"0.2.15"},"versions":{"0.2.0":{"name":"@cogitator-ai/express","version":"0.2.0","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.0","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":"7e3033a993757ddff5fd202bd0ccab76ac5a91c2","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.0.tgz","fileCount":99,"integrity":"sha512-jy1RxFR8TGn8p/ArHOzQ6QDz3Gpi2c5hyibjBCFVmbiovE0c9/1H6bqRSIWv5mE6NCDly01+Ms2OyKj8nGiTZw==","signatures":[{"sig":"MEUCIQDuaUaeNsh3tXTdJsccvxC+ho+CNC9hlm7aAJXJL5OGVwIgXhG89d6cjoZDQ46oDhZl/Z5ZkfA2vX2kO6KXU46yVDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154277},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-express-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/e3f6b9ccf378f826e7bd6752bd98615f/cogitator-ai-express-0.2.0.tgz","_integrity":"sha512-jy1RxFR8TGn8p/ArHOzQ6QDz3Gpi2c5hyibjBCFVmbiovE0c9/1H6bqRSIWv5mE6NCDly01+Ms2OyKj8nGiTZw==","repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"0.17.5","@cogitator-ai/types":"0.19.3"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","express":"^4.21.0","@types/ws":"^8.5.0","typescript":"^5.6.0","@types/express":"^4.17.21","@cogitator-ai/swarms":"0.4.7","@cogitator-ai/workflows":"0.5.4"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"0.4.7","@cogitator-ai/workflows":"0.5.4"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.0_1769448419548_0.2853624842002591","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cogitator-ai/express","version":"0.2.1","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.1","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":"0a6d9523efa9625fa781dc2ec40e2c8604a273e0","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.1.tgz","fileCount":99,"integrity":"sha512-Luw64C75u5WBtar5HAzUBuR9co3VovcZNctK56WHPVV5a7MVuj0bIkfdTzHPJ1kbxM66vbYB2RRioiCvS11ipw==","signatures":[{"sig":"MEUCIBfzOdetooXfdaqGCHKPLTsaaiIrDuWG3wdhhzElYyhUAiEAqSLRlWYso1nQkIsfBUIW0Ug9LqIxANAtJLBhyoizGa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147787},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-express-0.2.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/9e8be90f47b83cab1195fc90ada71636/cogitator-ai-express-0.2.1.tgz","_integrity":"sha512-Luw64C75u5WBtar5HAzUBuR9co3VovcZNctK56WHPVV5a7MVuj0bIkfdTzHPJ1kbxM66vbYB2RRioiCvS11ipw==","repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"0.17.5","@cogitator-ai/types":"0.19.3","@cogitator-ai/server-shared":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","express":"^4.21.0","@types/ws":"^8.5.0","typescript":"^5.6.0","@types/express":"^4.17.21","@cogitator-ai/swarms":"0.4.7","@cogitator-ai/workflows":"0.5.4"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"0.4.7","@cogitator-ai/workflows":"0.5.4"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.1_1769505469758_0.783203763919113","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cogitator-ai/express","version":"0.2.2","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.2","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":"a62daa84f3e039e613ddd04e464928a9a139cbe0","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.2.tgz","fileCount":98,"integrity":"sha512-em0WB5frGtcGwNaS4KzFNgsFL67qbmWc245znAMb3FGdv8raCFT7uCW5eeXilSHvOkiNrx4kU86edyceTxNWWA==","signatures":[{"sig":"MEQCIBR2QAMpB4XjTjoO2Sn25H3iNm7HAPFfNs/sONm13oTbAiAMNcBL+8OPIJgR0GWZYZg2iuVHa5xSTwYyeoZOJ21x6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a6b9adee17ab69490d006ebca129a24d50e90b0f","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*","@cogitator-ai/server-shared":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","express":"^4.21.0","@types/ws":"^8.5.0","typescript":"^5.6.0","@types/express":"^4.17.21","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.2_1771596820811_0.4194712001277361","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cogitator-ai/express","version":"0.2.4","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.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":"94179ca13eec6e139a158e6f3da884a243ab3d2d","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.4.tgz","fileCount":98,"integrity":"sha512-7Yo6NgjRIkXhHqetqyBv5JO+/ZxaqR/IcX2dIymWKbiFaR8TewzkLYMh74Rwgt5bi0XYn7lZG+N/+ZAqDGrCyg==","signatures":[{"sig":"MEQCIBZACyo9XLE79slZdlWnVbjYyV1wxAc4/g3NJTS2rVBbAiAaHtI/FXV1Ekd8Q6jqTv0j6WDFDxd+vNvGQJEcWRe3ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118751},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0b810bc27193c104759dc692330ee9204b524941","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","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/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*","@cogitator-ai/server-shared":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"^4.0.18","express":"^4.21.0","@types/ws":"^8.5.0","supertest":"^7.0.0","typescript":"^5.6.0","@types/express":"^4.17.21","@types/supertest":"^6.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.4_1771978668971_0.6911067925957506","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cogitator-ai/express","version":"0.2.6","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.6","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":"faecfbd347ebc394a7eff1ca37089cb0dad29902","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.6.tgz","fileCount":98,"integrity":"sha512-82IVzyHaEC0QK4UxIq+d/gXgBLcpnj+cgb6nWa9svu90+WQCaTC35HJ6s6zYLkKUxERK/MYvTDwqu3Papx3nqw==","signatures":[{"sig":"MEUCIQD5XjkGTnmOnkhdJnnvuoy8aM8drmUnNz60cC3MBfjttwIgLEQD9rSweTDCPPd26b/6k9L46c8m02M07I45LOgVekI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118751},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f508be4a1a30c7bd136f0fa8b2e6cee5521416ab","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","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/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*","@cogitator-ai/server-shared":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"^4.0.18","express":"^4.21.0","@types/ws":"^8.5.0","supertest":"^7.0.0","typescript":"^5.6.0","@types/express":"^4.17.21","@types/supertest":"^6.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.6_1772035555656_0.011969277570501369","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@cogitator-ai/express","version":"0.2.13","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.13","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":"efc95d97e772e32307a56df98963150b48715c78","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.13.tgz","fileCount":98,"integrity":"sha512-fi6uY3iBG069yqGzOqKTlj1OMI2tZ37HwyoPgqL6GvYyffyCkowZNrIqQ9BBtZ0gAH8MOnxbS/SGDZa4uvgHUQ==","signatures":[{"sig":"MEYCIQD66O7sMz2AJ1KdcX6fsBZyzh96ox3gnsyFQVxNN6xzMQIhANA5kdM7HNeeeY27YPql0aAlwhoD9j7/sZjC3V/9hkdS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"33b6a8cb29bfdd7d2255acfa240b2df5d558354e","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","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/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"workspace:*","@cogitator-ai/types":"workspace:*","@cogitator-ai/server-shared":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"^4.0.18","express":"^4.21.0","@types/ws":"^8.5.0","supertest":"^7.0.0","typescript":"^5.6.0","@types/express":"^4.17.21","@types/supertest":"^6.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"workspace:*","@cogitator-ai/workflows":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.13_1778881339924_0.36261443873131594","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@cogitator-ai/express","version":"0.2.14","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"license":"MIT","_id":"@cogitator-ai/express@0.2.14","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":"8320631ac7a6f9ecf2b538cb3856aebc44f8e57e","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.14.tgz","fileCount":99,"integrity":"sha512-RyabjSjxWh4Jn5UFVAuVf6INZBkEyaAQ/vMtNs0IzfOWd2b9WEWgEHLnQRocyTPxxTwj+m8vgxZkcCW07rRsdQ==","signatures":[{"sig":"MEICHz2Ofnm6OpCPJxdkdFxXeobuOvzzcgN60zt5t2mdAc0CHyKmkwmR8Zfs+llAEpUq8AruzZoedznVzppjSqbZVxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119794},"main":"./dist/index.js","type":"module","_from":"file:cogitator-ai-express-0.2.14.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"el1fe","email":"piuro.pavel@gmail.com"},"_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/030b0b48971f1a95ea86982e6f33cef3/cogitator-ai-express-0.2.14.tgz","_integrity":"sha512-RyabjSjxWh4Jn5UFVAuVf6INZBkEyaAQ/vMtNs0IzfOWd2b9WEWgEHLnQRocyTPxxTwj+m8vgxZkcCW07rRsdQ==","repository":{"url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","type":"git","directory":"packages/express"},"_npmVersion":"10.9.0","description":"Express.js server adapter for Cogitator AI runtime","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@cogitator-ai/core":"0.19.3","@cogitator-ai/types":"0.22.2","@cogitator-ai/server-shared":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"^4.0.18","express":"^4.21.0","@types/ws":"^8.5.0","supertest":"^7.0.0","typescript":"^5.6.0","@types/express":"^4.17.21","@types/supertest":"^6.0.0","@cogitator-ai/swarms":"0.4.19","@cogitator-ai/workflows":"0.5.16"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/swarms":"0.4.19","@cogitator-ai/workflows":"0.5.16"},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.14_1778882259632_0.31638150619524774","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@cogitator-ai/express","version":"0.2.15","description":"Express.js server adapter for Cogitator AI runtime","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"main":"./dist/index.js","types":"./dist/index.d.ts","dependencies":{"@cogitator-ai/core":"0.19.4","@cogitator-ai/types":"0.22.3","@cogitator-ai/server-shared":"0.1.0"},"peerDependencies":{"express":">=4.18.0"},"optionalDependencies":{"ws":"^8.0.0","@cogitator-ai/workflows":"0.5.17","@cogitator-ai/swarms":"0.4.20"},"devDependencies":{"@types/express":"^4.17.21","@types/supertest":"^6.0.0","@types/ws":"^8.5.0","express":"^4.21.0","supertest":"^7.0.0","typescript":"^5.6.0","vitest":"^4.0.18","ws":"^8.18.0","@cogitator-ai/workflows":"0.5.17","@cogitator-ai/swarms":"0.4.20"},"repository":{"type":"git","url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","directory":"packages/express"},"license":"MIT","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"_id":"@cogitator-ai/express@0.2.15","bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","_integrity":"sha512-mg9qz599OJZKTxszfVfBWDvnugg7QfNciXH7FqaDrVYd77eErt04IWGap75aCgNgL+LQeCVep8XQGVKwh3CoSw==","_resolved":"/private/var/folders/20/4d95hdvj45j337gtqpbx3v1m0000gn/T/2b7ace349d7aa3bf88de8d282ba540ef/cogitator-ai-express-0.2.15.tgz","_from":"file:cogitator-ai-express-0.2.15.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-mg9qz599OJZKTxszfVfBWDvnugg7QfNciXH7FqaDrVYd77eErt04IWGap75aCgNgL+LQeCVep8XQGVKwh3CoSw==","shasum":"41ec09f1de0d1fcc80ec453a11c2981872623bcc","tarball":"https://registry.npmjs.org/@cogitator-ai/express/-/express-0.2.15.tgz","fileCount":99,"unpackedSize":125323,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDH0pFQYa9jmF1aXgbzeVUnfp25sj2Gk7Zzz7QL+T3XaAiB+wPj0MbZUedXcLhhvF0LSJWLYawiEXov2walAtjyabg=="}]},"_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/express_0.2.15_1785059669219_0.07960933483605626"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T17:26:59.443Z","modified":"2026-07-26T09:54:29.529Z","0.2.0":"2026-01-26T17:26:59.696Z","0.2.1":"2026-01-27T09:17:49.901Z","0.2.2":"2026-02-20T14:13:40.964Z","0.2.4":"2026-02-25T00:17:49.113Z","0.2.6":"2026-02-25T16:05:55.814Z","0.2.13":"2026-05-15T21:42:20.073Z","0.2.14":"2026-05-15T21:57:39.852Z","0.2.15":"2026-07-26T09:54:29.361Z"},"bugs":{"url":"https://github.com/cogitator-ai/Cogitator-AI/issues"},"license":"MIT","homepage":"https://github.com/cogitator-ai/Cogitator-AI#readme","keywords":["cogitator","ai","agents","express","server","api","streaming","sse","websocket","llm"],"repository":{"type":"git","url":"git+https://github.com/cogitator-ai/Cogitator-AI.git","directory":"packages/express"},"description":"Express.js server adapter for Cogitator AI runtime","maintainers":[{"name":"el1fe","email":"piuro.pavel@gmail.com"}],"readme":"# @cogitator-ai/express\n\nExpress.js server adapter for Cogitator AI runtime. Automatically generates REST API endpoints for agents, workflows, and swarms with SSE streaming, WebSocket support, and Swagger documentation.\n\n## Installation\n\n```bash\nnpm install @cogitator-ai/express express\n# or\npnpm add @cogitator-ai/express express\n```\n\n## Quick Start\n\n```typescript\nimport express from 'express';\nimport { Cogitator, Agent, tool } from '@cogitator-ai/core';\nimport { CogitatorServer } from '@cogitator-ai/express';\n\nconst app = express();\n\nconst cogitator = new Cogitator({\n  defaultBackend: 'openai',\n  backends: { openai: { apiKey: process.env.OPENAI_API_KEY } },\n});\n\nconst chatAgent = new Agent({\n  name: 'chat',\n  instructions: 'You are a helpful assistant.',\n  model: 'gpt-4o-mini',\n});\n\nconst server = new CogitatorServer({\n  app,\n  cogitator,\n  agents: { chat: chatAgent },\n  config: {\n    basePath: '/api',\n    enableSwagger: true,\n  },\n});\n\nawait server.init();\napp.listen(3000, () => console.log('Server running on http://localhost:3000'));\n```\n\n## Auto-generated Endpoints\n\n### Agents\n\n```\nGET    /api/agents                    - List all agents\nPOST   /api/agents/:name/run          - Run agent (JSON response)\nPOST   /api/agents/:name/stream       - Run agent (SSE stream)\n```\n\n### Threads (Memory)\n\n```\nGET    /api/threads/:id               - Get thread messages\nPOST   /api/threads/:id/messages      - Add message to thread\nDELETE /api/threads/:id               - Delete thread\n```\n\n### Workflows\n\n```\nGET    /api/workflows                 - List all workflows\nPOST   /api/workflows/:name/run       - Run workflow\nPOST   /api/workflows/:name/stream    - Stream workflow events\n```\n\n### Swarms\n\n```\nGET    /api/swarms                    - List all swarms\nPOST   /api/swarms/:name/run          - Run swarm\nPOST   /api/swarms/:name/stream       - Stream swarm events\nGET    /api/swarms/:name/blackboard   - Get shared state\n```\n\n### Tools & Docs\n\n```\nGET    /api/tools                     - List all tools\nGET    /api/health                    - Health check\nGET    /api/docs                      - Swagger UI\nGET    /api/openapi.json              - OpenAPI spec\n```\n\n## Configuration\n\n```typescript\nconst server = new CogitatorServer({\n  app,\n  cogitator,\n  agents: { chat: chatAgent, research: researchAgent },\n  workflows: { 'code-review': codeReviewWorkflow },\n  swarms: { 'dev-team': devTeamSwarm },\n  config: {\n    basePath: '/cogitator',\n    enableWebSocket: true,\n    enableSwagger: true,\n\n    // Authentication\n    auth: async (req) => {\n      const token = req.headers.authorization?.replace('Bearer ', '');\n      const user = await validateToken(token);\n      return { userId: user.id, roles: user.roles };\n    },\n\n    // Rate limiting\n    rateLimit: {\n      windowMs: 60000, // 1 minute\n      max: 100, // 100 requests per window\n    },\n\n    // CORS\n    cors: {\n      origin: ['https://myapp.com'],\n      credentials: true,\n    },\n\n    // Swagger customization\n    swagger: {\n      title: 'My AI API',\n      description: 'AI-powered API endpoints',\n      version: '1.0.0',\n    },\n  },\n});\n```\n\n## SSE Streaming\n\nThe `/agents/:name/stream` endpoint returns Server-Sent Events:\n\n```typescript\n// Client-side\nconst response = await fetch('/api/agents/chat/stream', {\n  method: 'POST',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify({ input: 'Hello!' }),\n});\n\nconst reader = response.body.getReader();\nconst decoder = new TextDecoder();\n\nwhile (true) {\n  const { done, value } = await reader.read();\n  if (done) break;\n\n  const lines = decoder.decode(value).split('\\n');\n  for (const line of lines) {\n    if (line.startsWith('data: ')) {\n      const event = JSON.parse(line.slice(6));\n      console.log(event);\n      // { type: 'text-delta', id: '...', delta: 'Hello' }\n    }\n  }\n}\n```\n\n## WebSocket Support\n\nEnable real-time bidirectional communication:\n\n```typescript\nconst server = new CogitatorServer({\n  // ...\n  config: { enableWebSocket: true },\n});\n\n// After init, setup WebSocket on HTTP server\nimport { setupWebSocket } from '@cogitator-ai/express';\nimport { createServer } from 'http';\n\nconst httpServer = createServer(app);\nawait setupWebSocket(httpServer, routeContext, { path: '/api/ws' });\nhttpServer.listen(3000);\n```\n\nClient usage:\n\n```typescript\nconst ws = new WebSocket('ws://localhost:3000/api/ws');\n\nws.onmessage = (event) => {\n  const message = JSON.parse(event.data);\n  console.log(message);\n};\n\n// Run agent\nws.send(\n  JSON.stringify({\n    type: 'run',\n    id: 'req-1',\n    payload: {\n      type: 'agent',\n      name: 'chat',\n      input: 'Hello!',\n    },\n  })\n);\n```\n\n## Custom Middleware\n\nUse built-in middleware factories or create your own:\n\n```typescript\nimport {\n  createAuthMiddleware,\n  createRateLimitMiddleware,\n  createCorsMiddleware,\n  errorHandler,\n} from '@cogitator-ai/express';\n\n// Use individually\napp.use(\n  '/api',\n  createAuthMiddleware(async (req) => {\n    // Custom auth logic\n  })\n);\n\napp.use(\n  '/api',\n  createRateLimitMiddleware({\n    windowMs: 60000,\n    max: 100,\n    keyGenerator: (req) => req.headers['x-api-key'] as string,\n    trustProxy: false, // set true if behind a trusted reverse proxy\n  })\n);\n```\n\n## Custom Routes\n\nCreate custom routes with streaming support:\n\n```typescript\nimport { Router } from 'express';\nimport { ExpressStreamWriter, setupSSEHeaders, generateId } from '@cogitator-ai/express';\n\nconst router = Router();\n\nrouter.post('/custom/stream', async (req, res) => {\n  setupSSEHeaders(res);\n  const writer = new ExpressStreamWriter(res);\n  const messageId = generateId('msg');\n\n  writer.start(messageId);\n  writer.textStart(generateId('txt'));\n\n  // Your streaming logic\n  writer.textDelta('txt-1', 'Hello ');\n  writer.textDelta('txt-1', 'World!');\n\n  writer.textEnd('txt-1');\n  writer.finish(messageId);\n  writer.close();\n});\n```\n\n## API Reference\n\n### CogitatorServer\n\n```typescript\nclass CogitatorServer {\n  constructor(options: CogitatorServerConfig);\n  init(): Promise<void>;\n  readonly isInitialized: boolean;\n}\n```\n\n### CogitatorServerConfig\n\n```typescript\ninterface CogitatorServerConfig {\n  app: Router;\n  cogitator: Cogitator;\n  agents?: Record<string, Agent>;\n  workflows?: Record<string, Workflow>;\n  swarms?: Record<string, SwarmConfig>;\n  config?: {\n    basePath?: string; // Default: '/cogitator'\n    enableWebSocket?: boolean; // Default: false\n    enableSwagger?: boolean; // Default: true\n    auth?: AuthFunction;\n    rateLimit?: RateLimitConfig;\n    cors?: CorsConfig;\n    swagger?: SwaggerConfig;\n    websocket?: WebSocketConfig;\n    requestTimeout?: number; // Default: 30000\n  };\n}\n```\n\n### ExpressStreamWriter\n\n```typescript\nclass ExpressStreamWriter {\n  constructor(res: Response);\n  start(messageId: string): void;\n  textStart(id: string): void;\n  textDelta(id: string, delta: string): void;\n  textEnd(id: string): void;\n  toolCallStart(id: string, toolName: string): void;\n  toolCallDelta(id: string, argsTextDelta: string): void;\n  toolCallEnd(id: string): void;\n  toolResult(id: string, toolCallId: string, result: unknown): void;\n  workflowEvent(event: string, data: unknown): void;\n  swarmEvent(event: string, data: unknown): void;\n  error(message: string, code?: string): void;\n  finish(messageId: string, usage?: Usage): void;\n  close(): void;\n}\n```\n\n## Error Handling\n\nAll endpoints return consistent error responses:\n\n```json\n{\n  \"error\": {\n    \"message\": \"Agent 'unknown' not found\",\n    \"code\": \"NOT_FOUND\"\n  }\n}\n```\n\nError codes map to HTTP status codes:\n\n- `INVALID_INPUT` → 400\n- `UNAUTHORIZED` → 401\n- `PERMISSION_DENIED` → 403\n- `NOT_FOUND` → 404\n- `RATE_LIMIT_EXCEEDED` → 429\n- `INTERNAL` → 500\n- `UNAVAILABLE` → 503\n\n## License\n\nMIT\n","readmeFilename":"README.md"}