{"_id":"@aifabrix/miso-client","_rev":"82-1315d503f794b4e53a593b0d39bc7b60","name":"@aifabrix/miso-client","dist-tags":{"latest":"4.22.4"},"versions":{"1.0.0":{"name":"@aifabrix/miso-client","version":"1.0.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.0.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://docs.aifabrix.ai","bugs":{"url":"https://github.com/aifabrix/aifabrix-miso/issues"},"dist":{"shasum":"fa94d5a6696768eb61bb1dba79615f400cd401ea","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.0.0.tgz","fileCount":39,"integrity":"sha512-xQx2r/1b5F5UInb9PVx30gIBR9EtXiR84+Uk0uDCwTurUENsojtGgXxQMCpg+PiGYL3Z4b65lsCW5yvEMNCvUQ==","signatures":[{"sig":"MEUCIF2q3Q1g1KESzRYsQmCxFAMfANwt2Mg7pe+m9OwEOdbIAiEAyPo9cr94YtlttU815qzKqx6mGR6HmATvgEFMx1oiT1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98697},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b21e45d7877bad356f56bc1c946703a776ea7ef3","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/aifabrix/aifabrix-miso.git","type":"git","directory":"packages/miso-client"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.0.0_1761298118047_0.2721963392337632","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aifabrix/miso-client","version":"1.0.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.0.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"db6d82fa757911e08fedd89d3370223daba59f06","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.0.1.tgz","fileCount":47,"integrity":"sha512-3qfvPEyQMe4bxEOSvGrRNEVQ2cqhgh5zUugec2bkvlahqhzXz9zsfUpA/gZ3VQ7VnZnejDrgVann8WruOiO9PQ==","signatures":[{"sig":"MEQCIBn3AkNr6a6fRwE3jelzhhEQUHkcp5Zmb/hMEQyZ1BBrAiBqSYjuWOxbEx2u35/qqI+0oDVXNYr8qk8GUBthDtKTZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106886},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3475bf66a3707458aae7708d72c0fd1643fab679","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.0.1_1761477382311_0.7384505009969795","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aifabrix/miso-client","version":"1.0.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.0.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"092e3c7899ab9040103f470aac0de121abe986d6","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.0.2.tgz","fileCount":63,"integrity":"sha512-2olPxj+rNflSfTTTQN1XtNVzuvBo7uYd8FttqezT5TyymDYd+m0+iDolDnk9kzb//Csb+mlSKwFsX1kKzDqrYw==","signatures":[{"sig":"MEUCIQCIAk7TjMhw5TghDrc/AS/6XIGDEsl9KSAQSvPmteLUXAIgPPI5gUmaCSKIVQkDyaVuiY1qQc0mRcgFEHqdZZlNCXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131521},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5b592e408e45465e5596b68e7e904943579d77f8","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.0.2_1761478721533_0.3223240175185593","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aifabrix/miso-client","version":"1.0.3","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.0.3","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"945c44f6fe78b98c8f58eb665e2f097dab7efdbb","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.0.3.tgz","fileCount":71,"integrity":"sha512-jAfsNAiqHQT5OdBpvzo4G4dt1eQs3H1rTQyALBD6+TwNN+9+Hn6Uh66ToLJz+EQIUiwtYxTJfbeWIg/vg3j0KQ==","signatures":[{"sig":"MEUCIBVwdsscnFFb/YWkKm4e/+ytDxpt06XK1y0jbECkq2zNAiEAp9z0LlfHBBPWu5Ezyxggrtbbj816xp62Z6UJexGBYHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151553},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0dfcadef4581d7c9f4d6f5e5d5598eb81a1c2c49","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","test:no-coverage":"jest --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.0.3_1761748854629_0.17049691507213383","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@aifabrix/miso-client","version":"1.1.3","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.1.3","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"a417fb4083c5a36bba34bc1288b05ce3592f1f40","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.1.3.tgz","fileCount":83,"integrity":"sha512-swsGTQclXLNmTrvEIPNRbn0/vnCu/2x4sPUNYf97BOT8eENa+Hj/mFHu7u5tPD7vQ20Jkijb2KA1LNnB3mpE6A==","signatures":[{"sig":"MEUCIQCeG5vo+/MkkT1cXOuHKAJgdCTgxzDfyjfKqdAzz94xxwIgd48peXHIMi5ZKaB0/DnEKyj6LYqD0or5qUjrnkNDaz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187051},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"88ab4e78c1def01fd38c482c5d79fe28966d1eff","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","test:no-coverage":"jest --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.1.3_1761820821903_0.6216173726959149","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aifabrix/miso-client","version":"1.2.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.2.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"635c0ae358e290d494b4eebfb228fe7ded74845d","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.2.0.tgz","fileCount":83,"integrity":"sha512-pcQTGihyFwJCVwbJ7u8/CDo7P1AUPJdUFWzpv1sFfQYjJRIUMUwBTBq87ns3o+xbJgodBGp702o/jVD5YcljLg==","signatures":[{"sig":"MEUCIFgcOrTTe8abOs0mRP/UhXV38bZih6Y8xWXv85ygTzXrAiEA92ZQ3rk9eHdf+M+hxvrHfw8oi8CKeqrpQ/i3bzFLv0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189461},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b262b3ae56cf361180884a7aa11a931b54d4ba4d","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","test:no-coverage":"jest --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.2.0_1761924234092_0.24675234454311923","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@aifabrix/miso-client","version":"1.3.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.3.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"c6bb7af77378d974280d95ff0ef6f4f0c3e64af3","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.3.0.tgz","fileCount":87,"integrity":"sha512-EhUn8j5Ek4E2fFd8GLgrD47K8MROK6tZ9uQBBIEhDuVhpzCA9fcFuaME6en5MOF7bEpC+7zg31GBlgd2WVCMgg==","signatures":[{"sig":"MEUCIQDGoH+se8Tf3Sn+DEQdD0QNKMGGHXLiw0u6EeIQoxe4WgIgeZcRiGsgffS8S5e9DBq3fApiV+SCKqZKA+x9JiarrsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206502},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b0dc74515f20eaa8bb4bbd4f17458c4e2c8c5a2f","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","test:no-coverage":"jest --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.3.0_1762008412372_0.8764036687379717","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@aifabrix/miso-client","version":"1.4.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.4.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"5dde25acdae18b450ba44335c4847c3ceaa3965d","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.4.0.tgz","fileCount":100,"integrity":"sha512-A8ETIppNUbPG3GJxNboHMasaL5wSfjTYKioJ60tqtMLQ+H4DjueWtEFf2icrHvIYFTBqnBLppwCa8VF89VSMMQ==","signatures":[{"sig":"MEYCIQCAksXS+2pXPbVWUJWDPWxxBz2qfk1nXeRcD7bWIxADswIhANLK/JfuhtsWW3TuCaqRtywirwrybT/mYXp61BG1axut","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255281},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7716ee4cf4521124e2476c0a8dad7e0235b3d5f6","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.4.0_1762073641991_0.8791119706052561","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@aifabrix/miso-client","version":"1.5.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.5.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"de23433fba004da63ae8c270ce6a746c4e0a19b9","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.5.0.tgz","fileCount":128,"integrity":"sha512-MXBnVb3b2ajzi2g4Gem03s+VNt77bQSaYbmsy/I7fKLhzcAobM7roJEWsG35XjsvV9KXeHjs0G8ehBXjkJ+few==","signatures":[{"sig":"MEUCIGLaroRG1gPjvjk/K5SqELRjuAnmZy9uGlWXy7pkpB6BAiEA73oL3morHv6jxipAN1YS7Nci55cy9Mb/rKY1d9MtcX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299957},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7d883447e0eaf0d9d14e70ea6265518d515faa9c","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.5.0_1762080569754_0.8775696015274972","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@aifabrix/miso-client","version":"1.6.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.6.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"abe4492648064cb9da8f541167de8ef9b91dcdc0","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.6.0.tgz","fileCount":132,"integrity":"sha512-P/2o/wW3/wIITwRyeDcEtVdgJJesCzTB3pCQoVksYGz1693ZDoEoSyYi8MY4Zngp85EIp2FncRuVk+G2poJF2g==","signatures":[{"sig":"MEUCIQDFqVSqJj7gSAEzwBiwEm3oPOp/yY2T+MKeBPW2mipm6gIgHHc5b5HwDTo0kP1EFyViZS4+hgp4qrZNdr7WsWV4IN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328101},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"368fcdeee023b295cf336f034a4766091dc1aac3","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.6.0_1762089636024_0.698450920690211","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@aifabrix/miso-client","version":"1.7.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.7.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"d9d238c87650fd690d1828003808c569bfd1c391","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.7.0.tgz","fileCount":148,"integrity":"sha512-JuqR0EvPY6syg2MNAJwubwwyV4jJH6J8TNG0EoIl9OPqP98vOT3Lt5MwPm88dCRO4ua5/MWTT25CKfUx6us7BQ==","signatures":[{"sig":"MEUCIEZVfB+qV69YnCF2N75Vx3hKajjF+J9kr4y2rAh2/H+fAiEA7U1GEfMfemOcHgYKP8VNVgP5OFrfz1/OHOnNlzw3NYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357930},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9ce1c749531af9d12c274d570dab8d86660a116a","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.7.0_1762099902208_0.6805110930361318","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@aifabrix/miso-client","version":"1.8.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.8.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"3243b2e7553847db541731557ca7bbcb05656ae5","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.8.0.tgz","fileCount":148,"integrity":"sha512-yd0phtRVbw1f7+p76jvzM4mVIdvHQGUCJQ8NQWGcHCgOnE5D3BFsURyF29zh8rE/FaAuFCLJVmNpQjqBB4XFGA==","signatures":[{"sig":"MEUCIA93poK1sRfrhGjskxBPvbBdPc6O0p3UUhvKOs6b6RRDAiEArWBl5hbRUJNHiGwaGcNADZGhwDRqCiBuNCsF6D/E4C0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355501},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c683b156965dc75c0747aef728a7858b1ba7be0b","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.8.0_1762105277279_0.9356865307299567","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@aifabrix/miso-client","version":"1.8.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.8.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"1292e19a0581c79b0dd38959d609fa03677112af","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.8.1.tgz","fileCount":108,"integrity":"sha512-95I7L7DuEQAMPG1MAxpuzNC9aPr+FSVasuEW+qmLNVzR1sfaRbez1EWsdMT7SFjd4RBWDuTxDGje848fbb5Nhw==","signatures":[{"sig":"MEYCIQCqRnGhFhjpTMOn0jRKSk0JXLFl6R5QceCA4TWwgiIaNAIhAJcUDvXHQFYHFuydNY1F8gk5jSc0YMtbQHzMEsZW8vs/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308306},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3c22187e5863c32261aa76c158232cdd9bd9bd67","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.8.1_1762107046849_0.2964738837845182","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@aifabrix/miso-client","version":"1.9.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.9.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"f9e38c7a0dac157d017ccdc60405dd1e391b0a41","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.9.0.tgz","fileCount":112,"integrity":"sha512-peQPdLF90Wgcp5PxBKDC4Pahqly49fnw4hX71cI+vI5RL3PfupytqYA9QD6RPm5Q/ivmGuLym6+UY5Sk+kjI8A==","signatures":[{"sig":"MEUCIQC69npDIo5/GutPeaLqJk0Jg3DXZqVLRug+UDG/lgZBGgIgIidVSTmopbEjuPRpH6Cm8UBwES2vb1F5am15jQ+cCDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344577},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"43d6565a1f3b5b3eea2109ada478d7f262e39d3c","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.9.0_1763893863998_0.9085372472779378","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"@aifabrix/miso-client","version":"1.9.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@1.9.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"ba085c07c806e790ef1db6a119919819ddb47f32","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-1.9.2.tgz","fileCount":112,"integrity":"sha512-kmNirlwsByP+xQXa8Ey7DCOWCwkIsZLj/lDFChVfz36cB1XXgHV8+bPNzI9rO5pGosj9VJj14PfBs4PM7kbqqw==","signatures":[{"sig":"MEYCIQDTI9j5iR/kAeESPV+aYzFz75kkdXUlhV1xlWe2tgzk4AIhAJsgRQwySHVSc+gCGfwW08udBPvvCfoiN3OB8LrtXSzn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345148},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b9820b41c9eff0a9ffc589b3636eacc8a788b6d9","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.55.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_1.9.2_1763999896045_0.4749834218328499","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aifabrix/miso-client","version":"2.0.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.0.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"8a62d6af6f168ada0deb570e02fe199f52af7de7","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.0.0.tgz","fileCount":112,"integrity":"sha512-7rsBKx3leni+XsmIzKm9zmn2tVaHLyH/lkrQbbRuVqhc34hUuym2k5O6pCFrb3mUPKwp0xKLTjzDAeOCYOeyIw==","signatures":[{"sig":"MEQCIAt9zW9QbqKltPHCrV3jBisimwWpys9MVM1J6s297jJ0AiBWkr5Oaq+ETDz4UP/6WkQW37g4Hi6zYVfQ2/uw2omW3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360926},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2e71ce51b38dd6fde72de29f61cb9bfdb61bc5bb","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK for authentication, authorization, and logging","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.0.0_1764052799294_0.5087282704023763","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@aifabrix/miso-client","version":"2.1.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.1.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"d4e8102fc1c0d1306832d1fa5604b555ee87d416","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.1.0.tgz","fileCount":144,"integrity":"sha512-4m6QlW1SIIa+t02QT5HkUVY/lvfsQobT1LXDlbEok7aokoW/admRzlj2mVaTAU85jwyjj03M5hwT+UK1kPdoBg==","signatures":[{"sig":"MEYCIQDMHFAp95gfT7ZWH08VKIUecQYB+AVL+7VNyZwJmHJl1gIhAJEFyH71LRaTiRRno+eLuPcADPxpChbduGYYdUei/wfY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430068},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3dedc3bcd7983f63fee53aaabebf4a8f3a3263f2","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.1.0_1764602939964_0.697199784412571","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@aifabrix/miso-client","version":"2.1.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.1.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"781f8ffc486bc1ea34623396b344ff1bc273a0dd","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.1.1.tgz","fileCount":145,"integrity":"sha512-yOApqalaGgzK4/XmvLz+e8zSRJm0GiC3ol+zFMhTwR9S/G7WV3UFievw5kFeweZoFaR7pV/cEVw9VV2MFIultA==","signatures":[{"sig":"MEYCIQDo40nt2JanJbLkrQ1VdLofV7J6Ac6YkX9veBBnWkw6kwIhAOW6UHPFvYZ3BePXXl+TomJ9mwFr6JCDU5NOpRIkfGXZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431366},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4bdc4d6854fa9386a6218e2d530f4a11ce09f1e0","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.1.1_1764674097321_0.9800855178734695","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@aifabrix/miso-client","version":"2.1.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.1.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"39ea91659d4ba7b0b5d7af69d38011b947b52185","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.1.2.tgz","fileCount":145,"integrity":"sha512-JOSBwNVfbnGKFutSKpTT/vvcNOYApQQSTIer3Mp37Ut/quz4Fj5fCf9q49X1SDYy8QNNuxTxMxAg9e7UhvaKew==","signatures":[{"sig":"MEUCID2/ZmrT8UGypvwbwN3SSMKVFxsiQyU1NuSyS5m483qwAiEAzB9uAQcwzsA0bmLY0swkN6vQmn61ovvbC7FkGyJnE7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431724},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a6f612739391598bd140cdd18ec0452a8347daa9","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.1.2_1764676744745_0.7440441656020105","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@aifabrix/miso-client","version":"2.2.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.2.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"7b7d94756a444c77eeafc8a608d0f7930c1146b8","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.2.0.tgz","fileCount":153,"integrity":"sha512-4CIrTIanSK79mGP7vtnZL49KEpTyaguNvug4EEA012eJ7qCbWlhAYie4hDoVnosxtPQlJAbFhCtxGSMBtB1x9A==","signatures":[{"sig":"MEQCIFKWUoQZr/oPiCNNzjfvEyWLZZpUiwbeKnZlDa4XGEJ+AiBd5ZLEKyj1j04NTsP7Y+Rh0grHiJm+6OStzOFPH21Xfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":513622},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"91a595055f53f8b4604fcdaba0e9dc6b3d6a4fe0","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.2.0_1765637920518_0.6376059718183955","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@aifabrix/miso-client","version":"2.2.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.2.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"296a56f9bece51f2489067a9fddd4e92e0fab085","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.2.1.tgz","fileCount":153,"integrity":"sha512-RqavMMb+HjUOOiFWon4q7J8wHVyFG0+wjsiB+AaKC798VffEHn0b8jmMJsBUNxnRbdyLsl02ffOsWc3ieB0d8g==","signatures":[{"sig":"MEUCIQC9mXHd/x3DERd0DSfYqYFGuljDZiPh2sRbA9XNnqG1ywIgZYAd+i4mLj1DAa2EuneMOL6o7dGv4BjHPO2Obc4Wle4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517766},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"71f8327cf17bbad581e69e539067b3cce2ed3df7","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.2.1_1765641269785_0.4610355916458466","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@aifabrix/miso-client","version":"2.3.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@2.3.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"ca42e797eeba4fe66aa706ff1437cb0613e4ba83","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-2.3.0.tgz","fileCount":153,"integrity":"sha512-Ozebk8W3sUo9/OFOQjg2ghbzh9vdYflkHkCeLU+yebXtDLaJkid9/CI9w+xfzZ5xQY6DWEUiz/F0FppVPV/vKw==","signatures":[{"sig":"MEYCIQCaCLWs8gf8UcE8EVWLiT54o22XBIQQ5az6F+eerE67wQIhAPZMrlHNwk5GRjAnVX0QC5fWnaHl2378/ma9BCry8eXn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521409},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"702b8090565caffbca9ebfb5f50735ceda680de5","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_2.3.0_1765703346383_0.666184034429792","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@aifabrix/miso-client","version":"3.0.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.0.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"780c7c2fc3bc3c19a8bc91ccc38efa32e2c441af","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.0.0.tgz","fileCount":165,"integrity":"sha512-DBi5SKqwMFvE3okKaJCtW8ndqFHJg0zkidG4BxjeWXwADAhuoLb7yVxk5ztrmGhovXMVda5HOODK1aeJXej3YA==","signatures":[{"sig":"MEQCIEoE0ZzOV+LFNNjudSR7ENToAzZK9KGNYxD+uCj5KSEdAiAk1sORy2NTgO9u4T7fxHH+e8JuamRmsJnAMNz4W2gMIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":557775},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"845c9043998ff296eefe4cdfd22cea5cd5828d17","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.0.0_1765729408357_0.887763253068617","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@aifabrix/miso-client","version":"3.0.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.0.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"f709f076e3b53e2bc0ff9ffe359736a5b698ed33","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.0.1.tgz","fileCount":165,"integrity":"sha512-/G7Fkj+MIhsIUBxPouff1jI0xBTrZIl0n6sQPZm1K57kazPmy1Yc/00ig9up1W08aMTywVB27s+GWaonOvEc5A==","signatures":[{"sig":"MEYCIQCADWFasE8ZbgFu5qVhgaTM3SSTVSOjnPgkZ2gHY3AqWgIhAPZBZ08FfZJDquAZd4v/X2cpuE1LJRInSMnDGh0SOnrq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":562161},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"95137ca5106f03c3f913a2a49d5013b5290c9360","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.0.1_1765737789987_0.22100943983490184","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@aifabrix/miso-client","version":"3.1.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.1.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"095892a7e2fe63b29014bb4c5258b5eb21068eda","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.1.0.tgz","fileCount":169,"integrity":"sha512-+f5WajfaOnzFMtQhJXMOctBfGpgu765pB9S9dv8/LnaYXT3R0jNrT1or+MkH3I9Z7jtwJXMdWiFVcA5Q9Exgkg==","signatures":[{"sig":"MEQCIEtrnCN/v8tQ7Sdxn3KnZnWCdcx2fzi4xQkjgk39qRnvAiBsoO4m6WHMFhxBtlblMY/OAT4ySJWSwaIgs7BqTSQFig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571251},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"db517f5770f2e75b4fcfe13c151ea37782db08c6","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.1.0_1765808439912_0.3073635659206009","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@aifabrix/miso-client","version":"3.1.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.1.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"7d0b4efefd17c337b3c31b3bfe9451e179491c89","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.1.1.tgz","fileCount":169,"integrity":"sha512-Qt/XLIrJbqyoN+fufLEkta+V5sHca6YF6wuUB4dC9plTFFMYXlEuLJzs6DYWL42FjtzQwZHV9hp7cCLM0XS2Mg==","signatures":[{"sig":"MEYCIQCKSlxuZ0nXUSNSRdoeGGMsDDqMJvLR92cTJfdJNDv0DAIhAKKCUyWJVfyLNL48qKdzrT4iSseybucWgCrngIXBVuKW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":579622},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"995782889c8db3e5d1afb33db4e0531a5776dd35","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.1.1_1765819192235_0.11823206089755511","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@aifabrix/miso-client","version":"3.1.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.1.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"f0a98d7f69b8e3906d0b8269a35048744ccf431d","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.1.2.tgz","fileCount":189,"integrity":"sha512-k++ieFfeIpYQOeV7egrLZPIbUh8djNeuPf87BjuA8rwEc1iSxicIqJCHYivmFt6Lir8icF0mpLfRi43cwKlSvQ==","signatures":[{"sig":"MEQCIHWWnN8o4Oa7FN5kpx+aGK0zvMVY4CDrGYJ+V0CFphOjAiBVoNqfWUy7Ce4ccFK4SHaTt7ATBI6l0oyxmWfa7QdQMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613176},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ca8d2457cf44281ccecb6d0c9d3d9f3df9b4f013","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.1.2_1765833455042_0.006913758258957348","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@aifabrix/miso-client","version":"3.2.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.2.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"901a2907c0d239015a44e38c92299d7fdc1f3580","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.2.0.tgz","fileCount":213,"integrity":"sha512-WFjyzgZOfqKow6oQFv86olD76favTb4aRHrS2dQ9WPD3m99WF15882CfzCLSqGSWpoG0bz6YPk4MpCye7z3xhA==","signatures":[{"sig":"MEUCIFg4nxr5OfvE3/wSK5d8MsLwlYGoiF7ZfmswY28mcIc5AiEA2GDVO7z8P7VE/Xhe+PZE5Sg/ZFyvCnfbmRmRFuZX38o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":733442},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"14d11c53f804d45ece1cae8c9e0d1de1f40bea0f","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.2.0_1766384022233_0.4567060385842312","host":"s3://npm-registry-packages-npm-production"}},"3.2.5":{"name":"@aifabrix/miso-client","version":"3.2.5","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.2.5","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"e581205275284f36cd2233d142c3edfd7fc4102a","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.2.5.tgz","fileCount":221,"integrity":"sha512-2WVd1KlbyjrB00zNeAvKwzMv9UJJD1KpsafZ0agcRSJdA78d/tq+Hx+V6HMOQF23QPzYCfBhhFeCowvNmkuAow==","signatures":[{"sig":"MEYCIQCm/DLKRZ+BhM/+pnvKoiy4miI2sHmbww000MbG+QxMGgIhANHBzAhQKI0mn4GAJl7idVoinuuPU5++afIdMzNL8TJX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791007},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"76b7975e1c6c9ba760fc7a14798f8c04feb6c016","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.2.5_1766430328784_0.059771442076960835","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@aifabrix/miso-client","version":"3.3.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.3.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"7753e5a6a78900f5f18ebfec4baef85ea334bdc1","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.3.0.tgz","fileCount":289,"integrity":"sha512-GKMW5R3A1SnZjIKkrEMSm3wFfq5/XZPn9z4rsotaCt6W/lSfBfFGkwBLV0KvQbaZKZbL03955yQVPQlEomGM1A==","signatures":[{"sig":"MEYCIQC0ZcjFfKfQgtcgvW0gdn+LbXSCvAAfDLFn8GDoAUUUYQIhAP0o+n08j7bLlmishC6c6c1PBa3fwkizDf1nrFbaHTZu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":953637},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"46d6e239aed1484fcfc360e5c06bbc34e92e2c63","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.3.0_1766505514921_0.9443052740840125","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@aifabrix/miso-client","version":"3.4.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.4.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"72887d9e77c4ebc97e69fed5472bcc1511c9337d","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.4.0.tgz","fileCount":298,"integrity":"sha512-XsjzGS0jtIfXLNcbi4ccLDFt84KTjHH5OEBIuGBgZeMFeQIx+YxlXiLG0Co3ZYmcUx+culELbtQYrZdas4quVQ==","signatures":[{"sig":"MEYCIQDFTQV9F2VNVwId9aSNIis0VWmf7RXHveGKwUClhB04YAIhALWTzzAiowHNZrHmZDLz3p/5QcnyjESyfvFbNstTen4n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1014867},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fcbc004fd5ef5ab73e526a5a066068ebae8043e7","scripts":{"lint":"eslint src/**/*.ts","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.4.0_1766584624560_0.5588541710667394","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@aifabrix/miso-client","version":"3.4.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.4.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"0edcf8f7f21313ff2507b4f56cce04ddfdb8e169","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.4.1.tgz","fileCount":298,"integrity":"sha512-IV+87t7k9X4+/F4dGm88M2LKob+nRTzYcKuf9aeX85Zm+JpClI7nFXrhw/q8uuRziIIjyHF+i4XJksY0wXqkLQ==","signatures":[{"sig":"MEYCIQDEFFL7LC0t1tlna8ziS/c+NGzuxA5uuStO2dxCTYG72QIhAJ89nD/IXzML1JxWjbB2SjCmWVnY5K800QZ2IB2ccPpN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1025539},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b3dc496a5e1c15993dbdc5710c48831e017ecbb7","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.4.1_1767133602715_0.9383965324356385","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@aifabrix/miso-client","version":"3.4.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.4.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"48a6ccd476b2ea65cbca61ec03ccf1df0c5c5128","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.4.2.tgz","fileCount":298,"integrity":"sha512-ZbuHV39NOe6NZOa60qc+XnTotAGu9T+K0KebkTNs7PudcADwuCJE7qItTQbk64njzEElkW3i5PKe0fMFf2PFDg==","signatures":[{"sig":"MEUCIA2suUM/B6a5pWV0ALANyk3cMbxWxLzG0ZhNoL2j+8cMAiEAu3lDcyeNNhTPLWqQigX8kHBRsChh1jCTzJI9el5REss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1029408},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"e0d73f6ee99586c29154c7c3060b8cb41959c559","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.4.2_1767134379722_0.9974592412409182","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@aifabrix/miso-client","version":"3.5.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.5.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"4275918713e8b017f55ec041cdc01f3f304f0c54","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.5.0.tgz","fileCount":302,"integrity":"sha512-rS7gHqct3kBfRIvFA5oN2u+irvlN8Iy1bMxRMxfGWNl3RbaepFOjEk9lrNvDF6fp0lEOd9wqotJFQiQC7ookIw==","signatures":[{"sig":"MEQCIBa/GqK5COcoBC+ayBJxLnI8erKCcCqNp1YU3HdalpGIAiAVJYF0plTP31hfNCQtnchdlIfkLukYecpD3OGY0Z+wVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1047755},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"9eede6a0597a4654baaecce996ce66b92882fbc3","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.5.0_1767187834400_0.6381284131883391","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@aifabrix/miso-client","version":"3.8.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.8.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"501a9b3d3b15056f0a1074514ab2098808cec983","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.8.0.tgz","fileCount":338,"integrity":"sha512-gmsRl3ZjbfvOJYIg7cZf2WH+HdKyEy/EeCide/FCQkUHTl+2LVuGy5pGBIoHijuu2KB83zGCmQoMSL3W1PkQfA==","signatures":[{"sig":"MEQCIFQNLJ2DSPSSIlt0DWMGcgZ8UzREJQ/jHMTem2v65pflAiA1RognrYGX/BhaSK7XQPi1oPb+peBHeFQIPFxj55e95A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1251608},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"06d22df358afde1230718620094e31af0220d1af","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.8.0_1768043198615_0.11591676045568078","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"@aifabrix/miso-client","version":"3.8.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.8.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"2e557638bea7e603b61d06e6562aefc0b187ad3a","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.8.1.tgz","fileCount":342,"integrity":"sha512-M7xzZ1m+xj1CogRM87jVcapHsKQybG0eP0W9TbqBRL9ezWADjT3SE2zYk0/wkxBln9CR3Bo6BC+WBvR9CMVwsA==","signatures":[{"sig":"MEQCIE9gJ9FOotbjoDVL9HkCMz8c3TzfIkYnt0z1giW+idgcAiAAlFvY4CKFlq05FRZeUhSKXKNg5/BZR3B+/1Vu0k9VEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1265511},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"328bee1294bed2fd30e2a1b4456f162ddcbe3e75","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.8.1_1768068890594_0.5894209053707122","host":"s3://npm-registry-packages-npm-production"}},"3.8.2":{"name":"@aifabrix/miso-client","version":"3.8.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.8.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"dc64c7e5b294e77e83aef8c9c5e692d27aa2b279","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.8.2.tgz","fileCount":342,"integrity":"sha512-/iZHY8YDmIoA9M9ez5pyZMR96FmYMYLCBAPqK8P6yEmAnjL22vdE+FAN3WuliG0kPZARewygFmRSVj5pTxJ+6Q==","signatures":[{"sig":"MEQCIEsR52o+3aXe4lNkg+nxavea6GQJuUGKW1YiHwItl8xCAiB/iXSVClyyWcfveIdLa7Oqg2iuDuLe4Cs+LdlUtyfWPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1270972},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fa16249ac2e5ac56e9d203c35e8120deecc1880b","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.8.2_1768201110043_0.9879321517014468","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@aifabrix/miso-client","version":"3.9.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@3.9.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"94d1c517de6641006b1e9a409766855887b7d6af","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-3.9.0.tgz","fileCount":386,"integrity":"sha512-kAiZZhHRY5S2W4XDgoxre/BY91oyDMT7aTn4dAwcNHp10mDzuQmxO93FLnLazUJkf6KUHItChbMrabKPtbXUYA==","signatures":[{"sig":"MEQCIEI9x5KIMq12rjtPCBUydmgROm0s12yt73O0JvH5V9y0AiB6+gAp4tNS5ZYlBV3zQEe+iWXUwGBbv8WiilGE57s5Qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1265677},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"26c117a9f8f0ac22bad3ea57694ae41c26fd58e4","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_3.9.0_1768405881419_0.9821879562822433","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@aifabrix/miso-client","version":"4.0.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.0.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"86e250e3fa60e50f2209841e0f0f62685077ce0b","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.0.0.tgz","fileCount":398,"integrity":"sha512-tHcdS0+2qLP9BHNFUWHf5eH/fDHlBdDKr9gOoumeih8cnpHe3+Wp0BvRywAnrqHPWFwpHrif8biGDgsxOGhM9g==","signatures":[{"sig":"MEUCIQDql2sg7Dg7zRLZvIDhxraM6jw2qlFChx6XHKQjLhQl1AIgGCyHhCZxFZR26pfqEc3HCqM5DWmeMFJF9O9+Klxw5zw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1278766},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"613447b34a24db8470155fa640f4ca5d63c76fc4","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.0.0_1768903499740_0.2267983930466606","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@aifabrix/miso-client","version":"4.1.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.1.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"269fc8458086d9a0e5a51fa1969db84c1c0bf8f6","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.1.0.tgz","fileCount":398,"integrity":"sha512-pN/cqVAzrMmMr/WxmIOkOxz7dIrxGP2+aAYGv6i/Fw7G82oEV+Dm4ndb9xTT3vYUdwcmM0ohVa8jvIb3ZNbfGQ==","signatures":[{"sig":"MEUCIE0B/mbEfgPwuVHsWTNNlD2Em3r4ommpE9LxzDid8y+FAiEAyk1/Ag095KmaF0P8Pw/WpEoPNxmtNfB2mwtI7Zc8Ht4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283074},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"5e0e41950c330a7f5bc4fe8d3371d80df538bfd4","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.1.0_1768991376015_0.5974023503449641","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@aifabrix/miso-client","version":"4.2.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.2.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"f55325adb24d8771b5d2d3a1994aa3b061dd9db6","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.2.0.tgz","fileCount":398,"integrity":"sha512-zNVRiQeRSsjsOO3oKy55p66SEyNvV6VrVfDCkIsoFU8NHKYz8gf+5ewFZtrCtq0oopgG9HCd/V9THlp2UogmqQ==","signatures":[{"sig":"MEUCIQCv9GkrdE63SL3qV3MAFGtiER0AnYXCkBEgfy0O5yd4IQIgML5tJxCGpzCMIXkfKhpguB62+3PvaCsgvPVKzC61qJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277763},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"221d9b5a3756689736ca8f6135a638df4bc104e0","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.2.0_1769431612800_0.6166119039827862","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@aifabrix/miso-client","version":"4.3.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.3.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"cc7dd52c94c0ef9c766f21c039a6bc3a9c23f202","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.3.0.tgz","fileCount":402,"integrity":"sha512-7W1GGgK0vY02zbQULs1SoSJstuOD2eJtAjaiaCNHk73rKlh2A9W/HpBKFjkQlarWd42wWT4YTl7UxAdlDsr1tA==","signatures":[{"sig":"MEQCIC0ppv38sTVtwIgzf1PI2t0hId8tZ4G/H4S5VLNxi5vjAiASP6wUn9wAwqz46IYX73W6a421v3W13zYXv4ihqH4qxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1290311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fd4a9226a45dc56f295e930705da2b1cac329527","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.3.0_1769507019221_0.4748234266297846","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"name":"@aifabrix/miso-client","version":"4.3.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.3.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"3d2f23f25c00993d8e54923bffad18b873485953","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.3.1.tgz","fileCount":402,"integrity":"sha512-VAiTdbVsn6jGZfbvwLXuppf6FMjXxQ7lnI9ia8/1NsEmuxNx6f8KwahI4Sg0gXwBnHJ/R8/p1c5zV16FJ4egnQ==","signatures":[{"sig":"MEUCIBUEp/IL866+8VNsadEZnw1Dq/oNXZjMici+/tJW/nu0AiEA2X+3lvN5bUOoshbxTjoQS9/GDaZWdF9Q/v42yH9iHzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1292445},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"100f9d2f7615712578d9e142f7a80f716f319d3b","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --maxWorkers=100% --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^4.17.21","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.3.1_1769964547421_0.21420616965757833","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"@aifabrix/miso-client","version":"4.4.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.4.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"6275b3b3475fb034b62d69f155d97e665771a9df","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.4.0.tgz","fileCount":410,"integrity":"sha512-t/OdBjXelcERDLn9j7kAgeEL+jID5ZG/RJM805Jau/XIeSPacJZbanirVTys5UvFfCXTGHTpCL0Rw3nmwyjGpA==","signatures":[{"sig":"MEUCIQCUT3Wt4ZDVjDlh6PbhFa2ndAD/iH5IA9olg9sq5k1p7AIgcYAJoiEDxrAjU6M2CcTrJFpTs2Cf/jVl0uSLSJyQfNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1329341},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"15e1c682451cb1d224348a13e45a1fbcaf6bc0e4","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.4.0_1770222361161_0.47156459753187674","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"name":"@aifabrix/miso-client","version":"4.4.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.4.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"480f0942832f485e857e4255718402fbbe264b31","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.4.1.tgz","fileCount":418,"integrity":"sha512-/E3HatRX8gecMHdZnn4413728+9BPk+umfkN0jfD24tZEABbLHwyAiffc5UUGKt8eebgQ1rdsXsmw/2xGRrKsA==","signatures":[{"sig":"MEUCIQDlgA+NenfYJObGAry1+G0hfqhwqSCFYQsYPepJIemdFQIgYW/uRFAxHOiDsLZodl7JJNOk0vM67+sAk7hpBg9WpPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1348203},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"ab0a8da81b47eacbe9062f01632ea539ce9f4792","scripts":{"lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.4.1_1770638857141_0.6093460934330166","host":"s3://npm-registry-packages-npm-production"}},"4.4.2":{"name":"@aifabrix/miso-client","version":"4.4.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.4.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"927d1239b32c21a67a5a45d20b52c428d700b624","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.4.2.tgz","fileCount":418,"integrity":"sha512-UNjLMFA40Z+Nlu0SVoOh1Wrdq3tmJVG1mYmnCDi4D2nN0EKZGiuSFG58njZAJK7vwzYqYjPeO3LOny3sRPi8hQ==","signatures":[{"sig":"MEUCIBjG+ApUdoQMWHniTMkygiLJ4rnP7P8YILYOKu+tzfJFAiEA4Ag3nNzn1xKIoHvJxCe2o6fBTuRpEo8K0TeVtbOFtkw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1349984},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.4.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/4bf7db94a36ac73cc70880ee59e0d001/aifabrix-miso-client-4.4.2.tgz","_integrity":"sha512-UNjLMFA40Z+Nlu0SVoOh1Wrdq3tmJVG1mYmnCDi4D2nN0EKZGiuSFG58njZAJK7vwzYqYjPeO3LOny3sRPi8hQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.4.2_1770703070755_0.9220282650928948","host":"s3://npm-registry-packages-npm-production"}},"4.4.3":{"name":"@aifabrix/miso-client","version":"4.4.3","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.4.3","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"27917ee8170d2728b9f7088da20653bc81e41523","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.4.3.tgz","fileCount":434,"integrity":"sha512-fp61qeXuffD6cAA7MdmPjOeBtO8e2tX2TDF+7VW9VVuNY2jjX1JlwUR63a2r6CIW7NJIsufTX1nmqzh1+dCHqA==","signatures":[{"sig":"MEYCIQDNs+eOxfLZ3xbUPr4jP+/m7NH2u0DUnuUWslEBgCXN6QIhAJmvS5UXgi9RAfEcK9SbnOANtNOhiEvBSFVABzEvLt42","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1319592},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.4.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/2ff8767546d5a75ab9d5b7f7cc5a3c0a/aifabrix-miso-client-4.4.3.tgz","_integrity":"sha512-fp61qeXuffD6cAA7MdmPjOeBtO8e2tX2TDF+7VW9VVuNY2jjX1JlwUR63a2r6CIW7NJIsufTX1nmqzh1+dCHqA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.4.3_1771252243303_0.8337978201684624","host":"s3://npm-registry-packages-npm-production"}},"4.4.4":{"name":"@aifabrix/miso-client","version":"4.4.4","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.4.4","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"b13d4ce264cf6c70c19c8239be7163325feed852","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.4.4.tgz","fileCount":434,"integrity":"sha512-3zHOBMjBXiH4UualoZWpaL8MHcrqHWCUDrIAg//uVMTH/aRqCuii4mFyDTKJo7uZ1FrxrMuWsus3vpRwBPwSjA==","signatures":[{"sig":"MEQCIAwVtCF1rpu1VwHMDlmCzoTAUhpkxJ6p3svDZNZbosFzAiA8PuT8NsrLqcqP7p6eaNfe9tm0r6sgKVkOJ6vKKpVIgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1320325},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.4.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/68270c1ffea1e2fce7981eef6af6a055/aifabrix-miso-client-4.4.4.tgz","_integrity":"sha512-3zHOBMjBXiH4UualoZWpaL8MHcrqHWCUDrIAg//uVMTH/aRqCuii4mFyDTKJo7uZ1FrxrMuWsus3vpRwBPwSjA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.4.4_1771492097437_0.4895180035022173","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"@aifabrix/miso-client","version":"4.5.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.5.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"be5d712aa892e90f8f3eae99984ddcc082a3c3d5","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.5.0.tgz","fileCount":434,"integrity":"sha512-orIMu9Eq3f8pwrPNi7qaiLV9+19YrrXV6oGI9LHpfEbQQz+ulQAriefGwT2j6YK1O9mp972UZoRPc/fy7JFdkg==","signatures":[{"sig":"MEUCIGveajZYjwmJsJiCw9JvaWsiRKvezBvZ8ts7/iGR0hPdAiEAmdxstRM404RBJBIwJ3kx+6gF0Yb/n6p0kbLZH1yZlcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1323008},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.5.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/4f78c8d9a4342fe9e0e164a9df406fca/aifabrix-miso-client-4.5.0.tgz","_integrity":"sha512-orIMu9Eq3f8pwrPNi7qaiLV9+19YrrXV6oGI9LHpfEbQQz+ulQAriefGwT2j6YK1O9mp972UZoRPc/fy7JFdkg==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.5.0_1771512605373_0.5983045455877696","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"@aifabrix/miso-client","version":"4.6.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.6.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"9e09481c5657035441eb92ac1bfd94f1a2a8413c","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.6.0.tgz","fileCount":438,"integrity":"sha512-o7UzEYskJsw4UOIC8As2N+tK7Vs0agDkyDkbghKvrUUwvHZSSmKwsMTEhzfWiO0mFiHrif5Joa5iNBF2Z+2JAQ==","signatures":[{"sig":"MEYCIQDkZUJq4i/SZphqIfHP/SrYRpljv+Go5py+kP/exSNcgQIhAOHHne0GEcI+Wq04JQNQCqjY3+77zMcJHB9O/eoiMkqs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1331254},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.6.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/def0b6760b486411c70f5fdd0dda33c2/aifabrix-miso-client-4.6.0.tgz","_integrity":"sha512-o7UzEYskJsw4UOIC8As2N+tK7Vs0agDkyDkbghKvrUUwvHZSSmKwsMTEhzfWiO0mFiHrif5Joa5iNBF2Z+2JAQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.6.0_1772444365638_0.44158398836727897","host":"s3://npm-registry-packages-npm-production"}},"4.6.1":{"name":"@aifabrix/miso-client","version":"4.6.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.6.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"93d96e9f2d230f431bc7d5b9310f1936ab015f4d","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.6.1.tgz","fileCount":446,"integrity":"sha512-3N9Do+IbDqVbziN5Q6lYz0tc+/CJKbFXnHLRiR7hhUTts3tf+SWYPYhSnSoVXDZB/mcpb4GXfENnkYDwVPN6KQ==","signatures":[{"sig":"MEYCIQC5ts7x1tqAyqOrumKHJFw7MXZzli48gV1feJ+z6ylzHAIhAK7a3O6fifJJkNSaRr+m2Q0MCLL21aEGz4GlNf5l5ch+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347804},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.6.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/588b8a08e0365e7aeafddf7648427d2b/aifabrix-miso-client-4.6.1.tgz","_integrity":"sha512-3N9Do+IbDqVbziN5Q6lYz0tc+/CJKbFXnHLRiR7hhUTts3tf+SWYPYhSnSoVXDZB/mcpb4GXfENnkYDwVPN6KQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.6.1_1772621180915_0.8642910300603599","host":"s3://npm-registry-packages-npm-production"}},"4.7.1":{"name":"@aifabrix/miso-client","version":"4.7.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.7.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"472465e6dfd4ce33072087d86b0ffd025035b3be","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.7.1.tgz","fileCount":446,"integrity":"sha512-7kuHsw3rhL+7bsypucRVB6oOw3+yeFqmqkZ0MUm3YBrSG7GLIW+PnMyI4bKhUb4lhhwKMYmxPb84nr6vf5X2QQ==","signatures":[{"sig":"MEYCIQDX/7uxCrqyKDo357nukVgbagJpSSBZiRzwA/yFGrwUWgIhAL02h0JmkRs8EdNbWfLI/Yh0ZiXOD73W/4bCSYqcflus","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1357168},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.7.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/f06021a888223dd092bf49805b8bd51f/aifabrix-miso-client-4.7.1.tgz","_integrity":"sha512-7kuHsw3rhL+7bsypucRVB6oOw3+yeFqmqkZ0MUm3YBrSG7GLIW+PnMyI4bKhUb4lhhwKMYmxPb84nr6vf5X2QQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.7.1_1772789543880_0.04372626010603731","host":"s3://npm-registry-packages-npm-production"}},"4.8.0":{"name":"@aifabrix/miso-client","version":"4.8.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.8.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"9ab2b30bd2b22e06551d63e4d159fa55bcf0ea1c","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.8.0.tgz","fileCount":446,"integrity":"sha512-+O0Tpo9uW8xU70Vt/WbyWkqc+7pOCPR2CJIapcw71j9sDxtVKBE7/a7IVzpNsXzWL7RHwQzJJxb8uXrsRIcrsQ==","signatures":[{"sig":"MEYCIQC8NWzvFAGgK4xmWB7r4fhUF8boJtnGq+BqYA9zJH7p0AIhANMrjc1L8qQj9SQbA6xQBhvSGjxr5wnUGV0D8MN87P/p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1370144},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.8.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/65e62b453a3346157f6a984a5d95eab3/aifabrix-miso-client-4.8.0.tgz","_integrity":"sha512-+O0Tpo9uW8xU70Vt/WbyWkqc+7pOCPR2CJIapcw71j9sDxtVKBE7/a7IVzpNsXzWL7RHwQzJJxb8uXrsRIcrsQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.0","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.8.0_1773415682886_0.2639079406883187","host":"s3://npm-registry-packages-npm-production"}},"4.8.1":{"name":"@aifabrix/miso-client","version":"4.8.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.8.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"4da8e07eac5e93c6c6415c8d26f62cdfcaf6bbc4","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.8.1.tgz","fileCount":446,"integrity":"sha512-MzIB6Nk1fdALJ5hkUpYGwGsP01E935wPGzL6VqIBI6/cn9Df7ydb5FQojjwse4ds8DIvcXaHk2UFeaXoQ0Fs3g==","signatures":[{"sig":"MEUCICQt5cWHqPRIuO0FL9MG/FDErcA2HcO8Lx7Nb1j49310AiEAstTX98Nu6gDJ71qKfTCknQm8EWBJ4tSRAchO0Q3IkFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1370801},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.8.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/3b3fb8bb65959fea925ba3675bb63b50/aifabrix-miso-client-4.8.1.tgz","_integrity":"sha512-MzIB6Nk1fdALJ5hkUpYGwGsP01E935wPGzL6VqIBI6/cn9Df7ydb5FQojjwse4ds8DIvcXaHk2UFeaXoQ0Fs3g==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.8.1_1773934761857_0.5854857379986551","host":"s3://npm-registry-packages-npm-production"}},"4.9.0":{"name":"@aifabrix/miso-client","version":"4.9.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.9.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"92b32791512b4a0e43fd31bc69c61bbb2fbd1e30","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.9.0.tgz","fileCount":446,"integrity":"sha512-Lf/yorb2BBiVhdcn+FzvKCeiv8StNmzme9cndWuKNkTBasI5oGUWDPC0qoeKJrIcdLWHncRj1CUKKeSwmCAm/w==","signatures":[{"sig":"MEQCIB3E7KTMihG6qGCcp150pW1zN0WMamVsj3kXT/uiZol/AiAU+pabd/9hma0yGdidSpGMOB0ue1Rf6h0Prund5WarBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371613},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.9.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/22cbf0574e6e1361af1b6139b1f84aba/aifabrix-miso-client-4.9.0.tgz","_integrity":"sha512-Lf/yorb2BBiVhdcn+FzvKCeiv8StNmzme9cndWuKNkTBasI5oGUWDPC0qoeKJrIcdLWHncRj1CUKKeSwmCAm/w==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.9.0_1774340761357_0.028727420588231745","host":"s3://npm-registry-packages-npm-production"}},"4.10.0":{"name":"@aifabrix/miso-client","version":"4.10.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.10.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"00a02973dfc4328a7329f174a0ecb524c965c490","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.10.0.tgz","fileCount":446,"integrity":"sha512-XImpKs/R4j68/LXePOb7hKL5J624djUejD2Y00pNK13SH/krOT2nQti9WA/Kxg6+C0EIK2mz2/OeFUgCfwuhbA==","signatures":[{"sig":"MEUCIEnCu1jW971Cf07qiOCLTkQjqX0e7oTheuG5CK+cxN0zAiEAgZgAmcDW9jQtH2i+KtwcITxittgcepCfIXbdVrKOTlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1381644},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.10.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js"},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/590124ccc1f8ea3b06d31a34d6b16117/aifabrix-miso-client-4.10.0.tgz","_integrity":"sha512-XImpKs/R4j68/LXePOb7hKL5J624djUejD2Y00pNK13SH/krOT2nQti9WA/Kxg6+C0EIK2mz2/OeFUgCfwuhbA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.10.0_1776238589214_0.017842101869817384","host":"s3://npm-registry-packages-npm-production"}},"4.12.0":{"name":"@aifabrix/miso-client","version":"4.12.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.12.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"4c27d018c6bee24b689da2f6b83582ddc2d67607","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.12.0.tgz","fileCount":462,"integrity":"sha512-kKNt6LDzgkw5Tu7+PDSgHwJ6AV7GGWQdn2uMr9rpxe6FzedNvDx34Kb2FJxUAEongoKNesz+T9p7QkTdVsDANw==","signatures":[{"sig":"MEUCIQCnZXoG2lBJxJO8A59FYU4VQSeUIehFFQlXVyetxM0cLAIgQfZiT79wbI2tWmJg4gVPvicZsRbsbQVCsGWagFeOfUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1449436},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.12.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/63b8eb8b93d36b4632032d39586aedc5/aifabrix-miso-client-4.12.0.tgz","_integrity":"sha512-kKNt6LDzgkw5Tu7+PDSgHwJ6AV7GGWQdn2uMr9rpxe6FzedNvDx34Kb2FJxUAEongoKNesz+T9p7QkTdVsDANw==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.12.0_1777983688521_0.0313258967694694","host":"s3://npm-registry-packages-npm-production"}},"4.13.0":{"name":"@aifabrix/miso-client","version":"4.13.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.13.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"cf3bfd23c0a11196880b640480447ed937660d70","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.13.0.tgz","fileCount":466,"integrity":"sha512-shv14CaLd+wwO2AMkUfA3HX27LWnNP6m4CZAUq/uYLgATNzk68lXWXDPidMIhw4Vilh/+pycdrXPf3TUILjXYg==","signatures":[{"sig":"MEQCICg36Jylw+B5DmJLaUNUmB4hEs8n9ALWirXvhrO+rgyhAiA5hSFlUToo0U5nKhHx6c2/wOtbbOHJLRVEwGzn3UEIoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1475415},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.13.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/25b50e41861be7e4f985e1aeb00edade/aifabrix-miso-client-4.13.0.tgz","_integrity":"sha512-shv14CaLd+wwO2AMkUfA3HX27LWnNP6m4CZAUq/uYLgATNzk68lXWXDPidMIhw4Vilh/+pycdrXPf3TUILjXYg==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.13.0_1778753854207_0.09384498343472392","host":"s3://npm-registry-packages-npm-production"}},"4.13.1":{"name":"@aifabrix/miso-client","version":"4.13.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.13.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"ebf2cd7c5b3c87246fd1dca0271c8c0d450560b9","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.13.1.tgz","fileCount":466,"integrity":"sha512-8/TMv7ZD4ZxXWgWXZS2vj9jqZNDYxdh4eVcOfhgGvDO3YDqvIxFOm1A1MhlBiUGsxlCcdHK/v2D7WxAaw64/KA==","signatures":[{"sig":"MEQCIDJXK3wu0mtI+pODqbiKrNdUFuAwsOWfbSsyGoPVV7wbAiBAEISjUdO2Ryr12tCgsWrHzr3fh8y2bpJYMP3qo7/HpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1481135},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.13.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/e31961d9e599dec3b2b7a4b225db6498/aifabrix-miso-client-4.13.1.tgz","_integrity":"sha512-8/TMv7ZD4ZxXWgWXZS2vj9jqZNDYxdh4eVcOfhgGvDO3YDqvIxFOm1A1MhlBiUGsxlCcdHK/v2D7WxAaw64/KA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.13.1_1778779449522_0.8415692466460849","host":"s3://npm-registry-packages-npm-production"}},"4.13.2":{"name":"@aifabrix/miso-client","version":"4.13.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.13.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"d1c056682cf836b249ed12fc0b6123ecfd6ed2a2","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.13.2.tgz","fileCount":466,"integrity":"sha512-oiYU3AmBjxOZ5OIJenRmhR2LxyRTyee3Q+vxv62J9UjIIG5IJ1k/Zl8txErkiHIyAd/DWgWhgA+Jqj0vkSorvw==","signatures":[{"sig":"MEQCIBpNrebz2GOJdsg58SU0kQxeffEY4e2J82penQSFGTPxAiBOFfbtmpW1p6VK14sBBQvW4NcmfFVnChmgwDqCrpYXNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1482529},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.13.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/503e4badfc89537343bc11812591fdd1/aifabrix-miso-client-4.13.2.tgz","_integrity":"sha512-oiYU3AmBjxOZ5OIJenRmhR2LxyRTyee3Q+vxv62J9UjIIG5IJ1k/Zl8txErkiHIyAd/DWgWhgA+Jqj0vkSorvw==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.13.2_1778795503619_0.5976935803951944","host":"s3://npm-registry-packages-npm-production"}},"4.14.0":{"name":"@aifabrix/miso-client","version":"4.14.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.14.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"93d139637bb1a219604993bd5dd1c81b7034a8b4","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.14.0.tgz","fileCount":466,"integrity":"sha512-l1qhxCU/NNoqlUoEVuJdAmzgeBsOa5swEhCOY71h/ihyFs0Dq4ZMxylZ9QYzZrHyxB72NrmPGGbvDIKSQpTeyg==","signatures":[{"sig":"MEQCIDDY//mvAaMMdVZpCrSsMzvbIheTi2Pu8DNO6+dvbSJFAiBgMdBpizE/8aLS2CqwQGGhU9R9ltEO4/8BzuphvOsvwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1478289},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.14.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/809435a0431808a5c560bd3dae8c83f3/aifabrix-miso-client-4.14.0.tgz","_integrity":"sha512-l1qhxCU/NNoqlUoEVuJdAmzgeBsOa5swEhCOY71h/ihyFs0Dq4ZMxylZ9QYzZrHyxB72NrmPGGbvDIKSQpTeyg==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.14.0_1779193357587_0.8290543994222432","host":"s3://npm-registry-packages-npm-production"}},"4.15.0":{"name":"@aifabrix/miso-client","version":"4.15.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.15.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"9b713a1706d3509b9c9b00c2d337c34fef0c8a4c","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.15.0.tgz","fileCount":470,"integrity":"sha512-EivumCrGmZpLlQxjHcUgKT8HSwIFzjyN6hM/mB/UA/GPab57QxIrh0g1bB0AYX8za1cZt07/NuIdc8n2N5/Cag==","signatures":[{"sig":"MEUCIBiwW7HzIdr0rB+BLWkzlsiW0yiQZqfLGhXa8Z/rEdiiAiEAsX7CAb6qPVv+tuoASzhQsS89frgoFLlTc9uma0MesQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1489679},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.15.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/b3afe347c99d7a55a3d619f08022f80f/aifabrix-miso-client-4.15.0.tgz","_integrity":"sha512-EivumCrGmZpLlQxjHcUgKT8HSwIFzjyN6hM/mB/UA/GPab57QxIrh0g1bB0AYX8za1cZt07/NuIdc8n2N5/Cag==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.15.0_1780048899302_0.005229260013006387","host":"s3://npm-registry-packages-npm-production"}},"4.15.1":{"name":"@aifabrix/miso-client","version":"4.15.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.15.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"982df4f7a0f3ed6899c9ff220c5256548ccd372e","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.15.1.tgz","fileCount":470,"integrity":"sha512-4iOShmiGXlXjBKEgou0G898Ho2OjfU0SYXFoR7NfhDkek/hskWnMnDwSgPcD1RTyCjW0J1sMW+3m9YXL2oTOAA==","signatures":[{"sig":"MEUCIA5qOFrHIfzMUYZvVLQSyTN1RF9V+1TuVNTe7KDH4JwuAiEA+iBm33776SOZRCaTzcWb5QRJq7GeOFc02vKFTQII2wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1489583},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.15.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/a31c07dcc988373f8f74bc41097b12cb/aifabrix-miso-client-4.15.1.tgz","_integrity":"sha512-4iOShmiGXlXjBKEgou0G898Ho2OjfU0SYXFoR7NfhDkek/hskWnMnDwSgPcD1RTyCjW0J1sMW+3m9YXL2oTOAA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.15.1_1780077795094_0.01842942675319348","host":"s3://npm-registry-packages-npm-production"}},"4.15.2":{"name":"@aifabrix/miso-client","version":"4.15.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.15.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"4400f8fccfd3966ac94cc01ae406f25554847a0e","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.15.2.tgz","fileCount":470,"integrity":"sha512-M38OEGEde6vzQXpRg58NPCSimFaYhC8YSoudFpf430ZJLYpnKzObnx/DDD55wyD4QhsRPW0PY45D1VLfqzI6Zg==","signatures":[{"sig":"MEQCIF7YyT1ibdwlIOuZ4uDDJv971xDbKcUmhxauDQHdQbRZAiBJeRoLx0wgIRK+0bOgEccOZG+UcA+kkEMSeTxEqkMEQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1490082},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.15.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/ba88e7792dab34298b0444952b60f0b5/aifabrix-miso-client-4.15.2.tgz","_integrity":"sha512-M38OEGEde6vzQXpRg58NPCSimFaYhC8YSoudFpf430ZJLYpnKzObnx/DDD55wyD4QhsRPW0PY45D1VLfqzI6Zg==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.15.2_1780434618614_0.36778094000359296","host":"s3://npm-registry-packages-npm-production"}},"4.15.3":{"name":"@aifabrix/miso-client","version":"4.15.3","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.15.3","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"93a653729c779080f18dff16096def87ecba457a","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.15.3.tgz","fileCount":470,"integrity":"sha512-nm6/uts7oqmtmf474OmUgkFgF3JRZ/qETpi/13XGUoxcqv+p7EdwBJhGWP38m/9rIrsdmFygc4Vc4t3mx8fdXw==","signatures":[{"sig":"MEYCIQDOigfcVWn9qtrQbEQENqY4X1mlqGwyZpcvFgK2VqeIEAIhANAPLZe2ejlTBqNrxx+X7H2HwukGYEUutbF9zDYRlmVy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1490468},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.15.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/5c04b5e17976547a08b4bd1521b0ac2e/aifabrix-miso-client-4.15.3.tgz","_integrity":"sha512-nm6/uts7oqmtmf474OmUgkFgF3JRZ/qETpi/13XGUoxcqv+p7EdwBJhGWP38m/9rIrsdmFygc4Vc4t3mx8fdXw==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.15.3_1780436379723_0.389448570200144","host":"s3://npm-registry-packages-npm-production"}},"4.15.4":{"name":"@aifabrix/miso-client","version":"4.15.4","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.15.4","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"e21687695081329ee6ccad354b040627d55dcd00","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.15.4.tgz","fileCount":470,"integrity":"sha512-0PQ5JOma7N1dnnYMM8uddF3YU81ohEViehoS32yx5KpOvuUUo2llfrdVLji10ge0MEVh+Gltu076/6+ezqPtig==","signatures":[{"sig":"MEUCIQDZ/mqawgSfmmvOY6v4zUhNQRztq0cpiMtIiL7+tYqbhAIgSdO9ywsYcjlo7l8ITdeVIdDwdhxPRwbQt8uleGRbU9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1489957},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.15.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/09dcebb6de842f19cc079a3205f6cccc/aifabrix-miso-client-4.15.4.tgz","_integrity":"sha512-0PQ5JOma7N1dnnYMM8uddF3YU81ohEViehoS32yx5KpOvuUUo2llfrdVLji10ge0MEVh+Gltu076/6+ezqPtig==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.15.4_1780436726429_0.4198276884367145","host":"s3://npm-registry-packages-npm-production"}},"4.16.0":{"name":"@aifabrix/miso-client","version":"4.16.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.16.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"496752304921b8c952a8837016bb55128186c466","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.16.0.tgz","fileCount":502,"integrity":"sha512-MxsuItK/LteUDaXF1OvYFax58391xdXUq4pR+G2lCIfBW/RkVYubzPEJiT9q0G1wrqRx06eaOWTDYPRXOYSxHg==","signatures":[{"sig":"MEQCIEFCQdr/DrhEnlS99d6Q/e0PFkSWhrvRU6IcMmV0Iec6AiAnmPxRdpUfK6Db07XpAe39shslf2OGnWAUlKMZsRJ/3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1550530},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.16.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/6a7ef3fbdf322673377e4bf6f12231a6/aifabrix-miso-client-4.16.0.tgz","_integrity":"sha512-MxsuItK/LteUDaXF1OvYFax58391xdXUq4pR+G2lCIfBW/RkVYubzPEJiT9q0G1wrqRx06eaOWTDYPRXOYSxHg==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.16.0_1780439384886_0.10912135200707196","host":"s3://npm-registry-packages-npm-production"}},"4.17.0":{"name":"@aifabrix/miso-client","version":"4.17.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.17.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"425835347a467e61895fcce5b6ae9ba542693b40","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.17.0.tgz","fileCount":502,"integrity":"sha512-2YuY3xgXLUaUBqLAcIYdv+AXPm2fJLyV7qLkpxl+W52lGIucU+WoAssOVkmOyBMWVVNfqnVnvxWgq3agyHzMWw==","signatures":[{"sig":"MEUCICeB9Ebia0gua9Ips+gc7b2Q5c69/9XDF9wmUkrPel9JAiEAmDm7HiDU16PiGYQ2MDvA1JwjxvQ8df1ZIXy9tNYQCkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1550400},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.17.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/8452adf5359d895191b5efb794fa5a03/aifabrix-miso-client-4.17.0.tgz","_integrity":"sha512-2YuY3xgXLUaUBqLAcIYdv+AXPm2fJLyV7qLkpxl+W52lGIucU+WoAssOVkmOyBMWVVNfqnVnvxWgq3agyHzMWw==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.17.0_1781099557650_0.4151802274375693","host":"s3://npm-registry-packages-npm-production"}},"4.17.1":{"name":"@aifabrix/miso-client","version":"4.17.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.17.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"9510a9833565eb7f0d71fb0989a402c97c09f967","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.17.1.tgz","fileCount":502,"integrity":"sha512-oVgq7tCXB+b2e30WvcMhUQw8tz3zIlGb/EzMztFw07dnxPl7Meb8FvgvyUOoYSDVT5aCz5NXGoZkFpJjoa1aQA==","signatures":[{"sig":"MEYCIQDG82bW1bl3H0KmtZE/frH62zMqz9m3+Trrv9EtvddfFQIhAKQ8PBNfhQhhFgcvScBxnRXkPX9U00sC0di7NN2SaIW1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1551028},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.17.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/ec25707423c6d56ee9a15cd9aa1b26b7/aifabrix-miso-client-4.17.1.tgz","_integrity":"sha512-oVgq7tCXB+b2e30WvcMhUQw8tz3zIlGb/EzMztFw07dnxPl7Meb8FvgvyUOoYSDVT5aCz5NXGoZkFpJjoa1aQA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.17.1_1781102966133_0.3371677503652717","host":"s3://npm-registry-packages-npm-production"}},"4.17.2":{"name":"@aifabrix/miso-client","version":"4.17.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.17.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"e2bda830cf549b240495e75d6062898c1e2ac44b","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.17.2.tgz","fileCount":502,"integrity":"sha512-bt9ObgUsp6U8iTOczxP8AGwp+9rrGSYbTelOz32gTOm7lav9PoqByVKwYIqbPn1ILXo+5KKCwBbBeAF3hy6PHQ==","signatures":[{"sig":"MEUCIArK0UdqTWlhg8fP2BopTAYWMF8xZyofiQmXHHLPsiWyAiEAkpGZYNnn6+AspmSPQHtzKgxnsqGfPW2nSWZZrGKXsPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1546811},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.17.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/cd7b143e5c6c46489f41e89c2854c87a/aifabrix-miso-client-4.17.2.tgz","_integrity":"sha512-bt9ObgUsp6U8iTOczxP8AGwp+9rrGSYbTelOz32gTOm7lav9PoqByVKwYIqbPn1ILXo+5KKCwBbBeAF3hy6PHQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.17.2_1781178076617_0.4106816396679034","host":"s3://npm-registry-packages-npm-production"}},"4.17.3":{"name":"@aifabrix/miso-client","version":"4.17.3","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.17.3","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"629c2de7341ff53b0e3d8d8b1fd538b2de388fd6","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.17.3.tgz","fileCount":502,"integrity":"sha512-hgFn/I0AVUoAgpP/tXLQnXPxgXIrevpwdpsD5GFVcMpx6cWahtb/bFQ/EmXsY5dpqpl40D9nqqlz7NGO5I8BfQ==","signatures":[{"sig":"MEYCIQDLN6c8WREbofh1Jvks8vD6FHOJt+IBfhwAMQwMWavu4gIhAMQjjzDQ1KnzCnNQaql2JGXVlu/7mL2mFzCEFlQtsrzj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545888},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.17.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/931a6797f8bf3b66d486d471707c912b/aifabrix-miso-client-4.17.3.tgz","_integrity":"sha512-hgFn/I0AVUoAgpP/tXLQnXPxgXIrevpwdpsD5GFVcMpx6cWahtb/bFQ/EmXsY5dpqpl40D9nqqlz7NGO5I8BfQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.17.3_1781185857826_0.8344713680411535","host":"s3://npm-registry-packages-npm-production"}},"4.18.0":{"name":"@aifabrix/miso-client","version":"4.18.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.18.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"bc453fa56708cfab4aff07a973fafa3f1fffd76a","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.18.0.tgz","fileCount":502,"integrity":"sha512-6PQHalXzf+KQw9xGlKwtZAyK4u4zMeR/+e3xGEJI742nUggdIEPIWh02uIfkMAIn3GrA5Pjjfrmew2EVel7UqA==","signatures":[{"sig":"MEYCIQCE47jZOF2JSd3+csDDtwvnLHk3ftbwitwkgJgt+5nKPwIhAJ9BoZZdPWH+BNUnEv1OPVY+22e4X7nX0qvhG7JOPhww","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1549606},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.18.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/91e5a065b6022059f7a72c1af8b1d77b/aifabrix-miso-client-4.18.0.tgz","_integrity":"sha512-6PQHalXzf+KQw9xGlKwtZAyK4u4zMeR/+e3xGEJI742nUggdIEPIWh02uIfkMAIn3GrA5Pjjfrmew2EVel7UqA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.18.0_1781857642105_0.09079785414337094","host":"s3://npm-registry-packages-npm-production"}},"4.19.0":{"name":"@aifabrix/miso-client","version":"4.19.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.19.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"7a4d7fb4e189103da6f1146a5f942f858590b2b4","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.19.0.tgz","fileCount":510,"integrity":"sha512-yC721BT/9HAfXqZPw8FjZL8MI+rEc6Ahsdd5VQ6ewUSMbbYwzTWyZmzt8rg6E+P1G/cLe12mCLa0ZQ2+BHB6ug==","signatures":[{"sig":"MEUCIQD3JsPv3cgHb6+Rf2/SvWHew/dZO/8ip628lEbXRGGzcQIgClBknWu0mG47+xL9fgZAoDuTee0FYAfXf2EH2eJwCZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1564483},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.19.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/06d0455368c80bbdf341af68a8b22baf/aifabrix-miso-client-4.19.0.tgz","_integrity":"sha512-yC721BT/9HAfXqZPw8FjZL8MI+rEc6Ahsdd5VQ6ewUSMbbYwzTWyZmzt8rg6E+P1G/cLe12mCLa0ZQ2+BHB6ug==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.9.6","axios":"^1.6.2","dotenv":"^17.2.3","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","chalk":"^4.1.2","eslint":"^8.55.0","express":"^5.2.1","ts-jest":"^29.1.1","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^5.3.3","@types/jest":"^29.5.8","@types/node":"^20.10.4","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.1","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.19.0_1782213922747_0.7848373651582188","host":"s3://npm-registry-packages-npm-production"}},"4.20.0":{"name":"@aifabrix/miso-client","version":"4.20.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.20.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"3925af4670d7e690c67112813491b3c2bf41db12","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.20.0.tgz","fileCount":518,"integrity":"sha512-HK8MLU60ChPpnHqQvmvJTzux6b/+WD5pB4ScZOX2tz6bDS2c8XQdubRa9PM4YVGf3m/ZC30CoSlwX66zMig+PA==","signatures":[{"sig":"MEUCIQCDu6yQiyC6hjGJDhFvLgIlgnSyh5UXflDvfIyNZkf8SwIgB1tCuBGnZmTo7voR+eVRgAj+HN0+t9eL6smKkbrPyP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1587498},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.20.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/8c9d55a9d8b7303f15ff50d2527bf69f/aifabrix-miso-client-4.20.0.tgz","_integrity":"sha512-HK8MLU60ChPpnHqQvmvJTzux6b/+WD5pB4ScZOX2tz6bDS2c8XQdubRa9PM4YVGf3m/ZC30CoSlwX66zMig+PA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.20.0_1785155167694_0.7431091146314586","host":"s3://npm-registry-packages-npm-production"}},"4.21.0":{"name":"@aifabrix/miso-client","version":"4.21.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.21.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"7a812dd7ba3edd101283c7d8a445b483197ddacb","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.21.0.tgz","fileCount":530,"integrity":"sha512-5TVK1IvwMzw00NEq7tVmY5+DoRkyvB5mkToT0DLRyIHELdGaccB0SS6gi8vGlFOJ3LD2Az10HM9XDoJrOUjyGA==","signatures":[{"sig":"MEUCIAETfgDjzbNltVNxSnVQTJLxpqKpr9SPxEul2LQplut/AiEA6tCnCwfHRQ7848DuEoDb6pgHrcynHhtp2SK+i0mFrHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1610631},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.21.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./filter-store":{"types":"./dist/filter-store/index.d.ts","import":"./dist/filter-store/index.js","require":"./dist/filter-store/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/a4de2e379b0d295bd3f70d0a95d4dae7/aifabrix-miso-client-4.21.0.tgz","_integrity":"sha512-5TVK1IvwMzw00NEq7tVmY5+DoRkyvB5mkToT0DLRyIHELdGaccB0SS6gi8vGlFOJ3LD2Az10HM9XDoJrOUjyGA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","zustand":"^5.0.15","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.21.0_1787831080589_0.7031516221972707","host":"s3://npm-registry-packages-npm-production"}},"4.22.0":{"name":"@aifabrix/miso-client","version":"4.22.0","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.22.0","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"20871bf448f785cd9cedb703b4f049bfb8b0f05e","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.22.0.tgz","fileCount":534,"integrity":"sha512-WMj23xOBXN95eS+PCJDBgGyI7pF4Jkr5s2NRA23wcy/x/Ro8V+bkYW5Cb/JRwuaMzY691BhxqsJejvHsrgJ9FQ==","signatures":[{"sig":"MEUCIEgY+F8oGCH1EwoU+IYtNI2+FFeS0LAbF80G1XM3sW5PAiEAmtHX3tQLo9JN1eU3WjoqK3mzmlfFOcVtv0CxnpUSfdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDgqkR49Z4FRFPUaxbYDgP1dg8iR9rIJt/n+Ch4/lUWsQIgObrNYTgsCwtKaVj/cNkromtnuAQ4w490P5z9iaQJ86s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625421},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.22.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./filter-store":{"types":"./dist/filter-store/index.d.ts","import":"./dist/filter-store/index.js","require":"./dist/filter-store/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/8c4b62112a77ee2fbc90d701d843b59b/aifabrix-miso-client-4.22.0.tgz","_integrity":"sha512-WMj23xOBXN95eS+PCJDBgGyI7pF4Jkr5s2NRA23wcy/x/Ro8V+bkYW5Cb/JRwuaMzY691BhxqsJejvHsrgJ9FQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","zustand":"^5.0.15","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.22.0_1789288486854_0.355069042159357","host":"s3://npm-registry-packages-npm-production"}},"4.22.1":{"name":"@aifabrix/miso-client","version":"4.22.1","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.22.1","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"2a49bcb117e0ad5c3279b61ff7437f43292201bd","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.22.1.tgz","fileCount":534,"integrity":"sha512-Dx6UVY17euK9iYG5+jqZmpXPHjTVYpmmLAJWGrxvj6rhq9KyVFUkBHnw2FESn0B7cCo8zrHwd2geVA4DebIrzw==","signatures":[{"sig":"MEQCIFz/v7cgvzJi45e0WhHhJXrnymhyaZAGhA3XNGrlfNqFAiA6v1Vlo86dTSqoCaqNuUFw9EVWkKCwumpHwJIsQ+QOaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEDYmU9S7qAVD83q21bKP45/rXeEH+LWapLVX5/mEutEAiATVjRNzeVfw5EMvCLrZuiSWctTT2XK48GcM+VJCUoagg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1626439},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.22.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./filter-store":{"types":"./dist/filter-store/index.d.ts","import":"./dist/filter-store/index.js","require":"./dist/filter-store/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/44099110bea39f6f5255afd9874fc3e4/aifabrix-miso-client-4.22.1.tgz","_integrity":"sha512-Dx6UVY17euK9iYG5+jqZmpXPHjTVYpmmLAJWGrxvj6rhq9KyVFUkBHnw2FESn0B7cCo8zrHwd2geVA4DebIrzw==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","zustand":"^5.0.15","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.22.1_1789290518912_0.9852948556348033","host":"s3://npm-registry-packages-npm-production"}},"4.22.2":{"name":"@aifabrix/miso-client","version":"4.22.2","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.22.2","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"a978611528c5666a7058cd7c7f055f1fc203fe00","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.22.2.tgz","fileCount":534,"integrity":"sha512-KSfXDeBsUTjG/xSDie3SwxSRAL99+NC4+pMvo2grJAU2lWML+o8d+Z2VZBlxPx4ol9iJoXu2gOCDTcLjP3Z58g==","signatures":[{"sig":"MEYCIQCNCBxk3tUhcdzng7WhShEXkFqHZp6Hk4pDRysJnuOLuwIhAIudyX/Kua0PlcTHOt0o33YiDB24remZceHXe7fLo7Gv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH5fxpCNqrqcTrFULnkOjzo4LyWBB0vdRHg3Z1qhUzsaAiBkXxUxqAPuO4DdPfg7LL9O+5EPYdypg+lP2445IB76mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1628366},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.22.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./filter-store":{"types":"./dist/filter-store/index.d.ts","import":"./dist/filter-store/index.js","require":"./dist/filter-store/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/5f370ab262ca0426527276a739efe587/aifabrix-miso-client-4.22.2.tgz","_integrity":"sha512-KSfXDeBsUTjG/xSDie3SwxSRAL99+NC4+pMvo2grJAU2lWML+o8d+Z2VZBlxPx4ol9iJoXu2gOCDTcLjP3Z58g==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","zustand":"^5.0.15","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.22.2_1789291157815_0.7487293776146755","host":"s3://npm-registry-packages-npm-production"}},"4.22.3":{"name":"@aifabrix/miso-client","version":"4.22.3","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"author":{"name":"AI Fabrix Team"},"license":"MIT","_id":"@aifabrix/miso-client@4.22.3","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"38a95eee35d1ef65bcf21a0bbfe99880a4d5a039","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.22.3.tgz","fileCount":534,"integrity":"sha512-ImTvnCvAuyo7k/IbKzo67za+cf+f9gICuv3NUsoXQ0mXYDRm4CF+P1aCrQEdaVVBtW58RWJUi5gAhARcBFLOpA==","signatures":[{"sig":"MEYCIQD+flXP1ohth3Ty9VAfVhoK3ijcMsqPqfLh/E7PQxK5bAIhAOE+rf10ilBAwefazDLezN+1xqoa9Qir5Jb7uDnprr3Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAaEyAQOcDNd1tOP3J7FtJe5Juc1tpXiZNfE/nxU7EH6AiEA8pE9gZRmUPJtfY/m2/53qP0GohsuWC9pPUDloyX3c6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1628906},"main":"dist/index.js","_from":"file:aifabrix-miso-client-4.22.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./filter-store":{"types":"./dist/filter-store/index.d.ts","import":"./dist/filter-store/index.js","require":"./dist/filter-store/index.js"}},"scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"_resolved":"/tmp/3fca6436abed870b0498886724261cca/aifabrix-miso-client-4.22.3.tgz","_integrity":"sha512-ImTvnCvAuyo7k/IbKzo67za+cf+f9gICuv3NUsoXQ0mXYDRm4CF+P1aCrQEdaVVBtW58RWJUi5gAhARcBFLOpA==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","zustand":"^5.0.15","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/miso-client_4.22.3_1789291602373_0.3248002830298391","host":"s3://npm-registry-packages-npm-production"}},"4.22.4":{"_id":"@aifabrix/miso-client@4.22.4","bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"dist":{"shasum":"9f29241d0f8f860c5b71fd085f9267ee4c12b28d","tarball":"https://registry.npmjs.org/@aifabrix/miso-client/-/miso-client-4.22.4.tgz","fileCount":534,"integrity":"sha512-98CUsUFE31oAHy1D4OBcX5uR2WY/vWoLGi+Apx/lw2KcWDe5gXqfhGrs51ONY/Qzpya2nYM4/yZadeVUXNPhqQ==","signatures":[{"sig":"MEUCIQD2F+siW3pM3YbDpDrCfhv+id57R0zC4KuRHN5Q1bcBOQIgeakylFw2oZQGZvaUfjskBXJT2uJGIi66matQrvpb/6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE+rXvExKxFMHe4U2qJVLtRDjBvYt0UuGO47RUaopv4uAiAlNAWlmZ7RMacB4GhYgB0QosD24weik9wqc9fEWeuOmg=="}],"unpackedSize":1626803},"main":"dist/index.js","name":"@aifabrix/miso-client","_from":"file:aifabrix-miso-client-4.22.4.tgz","types":"dist/index.d.ts","author":{"name":"AI Fabrix Team"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./filter-store":{"types":"./dist/filter-store/index.d.ts","import":"./dist/filter-store/index.js","require":"./dist/filter-store/index.js"}},"license":"MIT","scripts":{"all":"pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build","fmt":"prettier --write . --ignore-path .prettierignore","lint":"eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'","test":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage","build":"tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"","md:fix":"prettier --write \"**/*.md\" --ignore-path .prettierignore","silent":"node scripts/run-silent.mjs","md:lint":"prettier --check \"**/*.md\" --ignore-path .prettierignore","lint:fix":"eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'","fmt:silent":"pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"","test:watch":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch","lint:silent":"pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"","test:silent":"pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"","build:silent":"pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"","md:fix:silent":"pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"","test:coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage","md:lint:silent":"pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"","lint:fix:silent":"pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"","tests:typecheck":"tsc -p tests/tsconfig.json --noEmit","test:integration":"ts-node test_integration.ts","test:no-coverage":"node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage","server:lint:silent":"pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"","server:test:silent":"pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"","server:build:silent":"pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"","test:integration:api":"node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit","server:lint:fix:silent":"pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"","tests:typecheck:silent":"pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"","check:forbidden-markers":"node scripts/check-forbidden-trace-markers.js","server:start:dev:silent":"pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\""},"version":"4.22.4","_npmUser":{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"},"homepage":"https://github.com/esystemsdev/aifabrix-miso-client","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"_resolved":"/tmp/dfbba8921e1a1ef55eb038e69323f1a5/aifabrix-miso-client-4.22.4.tgz","_integrity":"sha512-98CUsUFE31oAHy1D4OBcX5uR2WY/vWoLGi+Apx/lw2KcWDe5gXqfhGrs51ONY/Qzpya2nYM4/yZadeVUXNPhqQ==","repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"_npmVersion":"10.8.2","description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","directories":{},"maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"_nodeVersion":"20.20.2","dependencies":{"jose":"^5.10.0","axios":"^1.18.1","dotenv":"^17.4.2","ioredis":"^5.11.1","zustand":"^5.0.15","jsonwebtoken":"^9.0.3","@types/jsonwebtoken":"^9.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","chalk":"^5.6.2","eslint":"^8.57.1","express":"^5.2.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","minimatch":"9.0.7","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^26.1.1","@types/express":"^5.0.6","@types/serve-static":"^2.2.0","eslint-config-prettier":"^9.1.2","@typescript-eslint/parser":"^6.21.0","@types/express-serve-static-core":"^5.1.2","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/miso-client_4.22.4_1789322202793_0.14050708829280367"}}},"time":{"created":"2025-10-24T09:28:37.939Z","modified":"2026-09-13T17:56:43.127Z","1.0.0":"2025-10-24T09:28:38.319Z","1.0.1":"2025-10-26T11:16:22.483Z","1.0.2":"2025-10-26T11:38:41.750Z","1.0.3":"2025-10-29T14:40:54.818Z","1.1.3":"2025-10-30T10:40:22.087Z","1.2.0":"2025-10-31T15:23:54.270Z","1.3.0":"2025-11-01T14:46:52.568Z","1.4.0":"2025-11-02T08:54:02.231Z","1.5.0":"2025-11-02T10:49:29.941Z","1.6.0":"2025-11-02T13:20:36.254Z","1.7.0":"2025-11-02T16:11:42.433Z","1.8.0":"2025-11-02T17:41:17.537Z","1.8.1":"2025-11-02T18:10:47.037Z","1.9.0":"2025-11-23T10:31:04.240Z","1.9.2":"2025-11-24T15:58:16.293Z","2.0.0":"2025-11-25T06:39:59.510Z","2.1.0":"2025-12-01T15:29:00.148Z","2.1.1":"2025-12-02T11:14:57.511Z","2.1.2":"2025-12-02T11:59:04.959Z","2.2.0":"2025-12-13T14:58:40.676Z","2.2.1":"2025-12-13T15:54:30.012Z","2.3.0":"2025-12-14T09:09:06.572Z","3.0.0":"2025-12-14T16:23:28.514Z","3.0.1":"2025-12-14T18:43:10.150Z","3.1.0":"2025-12-15T14:20:40.071Z","3.1.1":"2025-12-15T17:19:52.393Z","3.1.2":"2025-12-15T21:17:35.310Z","3.2.0":"2025-12-22T06:13:42.468Z","3.2.5":"2025-12-22T19:05:28.973Z","3.3.0":"2025-12-23T15:58:35.092Z","3.4.0":"2025-12-24T13:57:04.740Z","3.4.1":"2025-12-30T22:26:42.898Z","3.4.2":"2025-12-30T22:39:39.916Z","3.5.0":"2025-12-31T13:30:34.578Z","3.8.0":"2026-01-10T11:06:38.834Z","3.8.1":"2026-01-10T18:14:50.834Z","3.8.2":"2026-01-12T06:58:30.273Z","3.9.0":"2026-01-14T15:51:21.621Z","4.0.0":"2026-01-20T10:04:59.935Z","4.1.0":"2026-01-21T10:29:36.186Z","4.2.0":"2026-01-26T12:46:52.985Z","4.3.0":"2026-01-27T09:43:39.396Z","4.3.1":"2026-02-01T16:49:07.590Z","4.4.0":"2026-02-04T16:26:01.382Z","4.4.1":"2026-02-09T12:07:37.327Z","4.4.2":"2026-02-10T05:57:50.921Z","4.4.3":"2026-02-16T14:30:43.517Z","4.4.4":"2026-02-19T09:08:17.626Z","4.5.0":"2026-02-19T14:50:05.589Z","4.6.0":"2026-03-02T09:39:25.848Z","4.6.1":"2026-03-04T10:46:21.122Z","4.7.1":"2026-03-06T09:32:24.097Z","4.7.2":"2026-03-07T15:42:49.015Z","4.8.0":"2026-03-13T15:28:03.045Z","4.8.1":"2026-03-19T15:39:22.022Z","4.9.0":"2026-03-24T08:26:01.528Z","4.10.0":"2026-04-15T07:36:29.391Z","4.12.0":"2026-05-05T12:21:28.706Z","4.13.0":"2026-05-14T10:17:34.456Z","4.13.1":"2026-05-14T17:24:09.730Z","4.13.2":"2026-05-14T21:51:43.786Z","4.14.0":"2026-05-19T12:22:37.864Z","4.15.0":"2026-05-29T10:01:39.495Z","4.15.1":"2026-05-29T18:03:15.306Z","4.15.2":"2026-06-02T21:10:18.834Z","4.15.3":"2026-06-02T21:39:39.876Z","4.15.4":"2026-06-02T21:45:26.655Z","4.16.0":"2026-06-02T22:29:45.025Z","4.17.0":"2026-06-10T13:52:37.849Z","4.17.1":"2026-06-10T14:49:26.346Z","4.17.2":"2026-06-11T11:41:16.845Z","4.17.3":"2026-06-11T13:50:58.057Z","4.18.0":"2026-06-19T08:27:22.306Z","4.19.0":"2026-06-23T11:25:22.901Z","4.20.0":"2026-07-27T12:26:07.896Z","4.21.0":"2026-08-27T11:44:40.731Z","4.22.0":"2026-09-13T08:34:46.948Z","4.22.1":"2026-09-13T09:08:39.002Z","4.22.2":"2026-09-13T09:19:17.909Z","4.22.3":"2026-09-13T09:26:42.487Z","4.22.4":"2026-09-13T17:56:42.945Z"},"bugs":{"url":"https://github.com/esystemsdev/aifabrix-miso-client/issues"},"author":{"name":"AI Fabrix Team"},"license":"MIT","homepage":"https://github.com/esystemsdev/aifabrix-miso-client","keywords":["aifabrix","miso","client","authentication","authorization","logging","keycloak","redis"],"repository":{"url":"git+https://github.com/esystemsdev/aifabrix-miso-client.git","type":"git"},"description":"AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities","maintainers":[{"name":"mika.roivainen","email":"mika.roivainen@esystems.fi"}],"readme":"# AI Fabrix Miso Client SDK\n\n[![npm version](https://img.shields.io/npm/v/%40aifabrix%2Fmiso-client.svg)](https://www.npmjs.com/package/%40aifabrix%2Fmiso-client)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nThe **AI Fabrix Miso Client SDK** provides authentication, authorization, and logging for applications integrated with the AI Fabrix platform.\n\n## ✨ Benefits\n\n### 🔐 Enterprise Security\n\n**SSO and Federated Identity**\n\n- Single Sign-On (SSO) with Keycloak\n- OAuth 2.0 and OpenID Connect (OIDC) support\n- Multi-factor authentication (MFA) ready\n- Social login integration (Google, Microsoft, etc.)\n\n**Centralized Access Control**\n\n- Role-based access control (RBAC)\n- Fine-grained permissions\n- Dynamic policy enforcement\n- Attribute-based access control (ABAC)\n\n**API Security**\n\n- JWT token validation\n- API key authentication\n- Token revocation support\n- Secure token storage\n- Data encryption/decryption (AES-256-GCM)\n- **Authenticated redirect validation**: Login redirect URLs are validated server-side against registered app domains. All redirect requests require valid client credentials, preventing open redirect attacks and making it very difficult to use wrong redirect URLs.\n\n### 📊 Compliance & Audit\n\n**ISO 27001 Compliance**\n\n- Comprehensive audit trails for all user actions\n- Data access logging and monitoring\n- Security event tracking\n- Accountability and non-repudiation\n\n**Regulatory Compliance**\n\n- GDPR-ready data protection\n- HIPAA-compliant audit logging\n- SOC 2 audit trail requirements\n- Industry-standard security controls\n\n**Audit Capabilities**\n\n- Real-time audit event logging\n- Immutable audit records\n- Forensic analysis support\n- Compliance reporting automation\n\n**HTTP Request Audit (ISO 27001 Compliant)**\n\n- Automatic audit logging for all HTTP requests\n- Sensitive data masking (passwords, tokens, PII, financial data)\n- Configurable sensitive fields via JSON configuration\n- Debug logging with automatic data protection\n- Request/response metadata capture\n- User context extraction from JWT tokens\n\n### ⚡ Performance & Scalability\n\n**Intelligent Caching**\n\n- Redis-based role and permission caching\n- Generic cache service with Redis and in-memory fallback\n- Configurable cache TTL (default: 15 minutes)\n- Automatic cache invalidation\n- Fallback to controller when Redis unavailable\n\n**High Availability**\n\n- Automatic failover to controller\n- Redundant infrastructure support\n- Load balancing compatible\n- Zero-downtime deployments\n\n**Optimized Network**\n\n- Efficient API calls with caching\n- Batch operations support\n- Connection pooling\n- Minimal latency\n\n### 🛠️ Developer Experience\n\n**Easy Integration**\n\n- Progressive activation (6-step setup)\n- Works with any framework (Express, Next.js, NestJS, Fastify)\n- TypeScript-first with full type definitions\n- Browser and Node.js support\n- **DataClient Browser Wrapper** - Enhanced HTTP client for React/Vue/Angular with ISO 27001 audit logging, caching, retry logic, and more\n\n**Flexible Configuration**\n\n- Environment-based configuration\n- Support for dev, test, and production environments\n- Docker and Kubernetes ready\n- CI/CD friendly\n\n**Observability**\n\n- Centralized logging with correlation IDs\n- Performance tracking and metrics\n- Error tracking and debugging\n- Health monitoring\n\n---\n\n## 🚀 Quick Start\n\nGet your application secured in 30 seconds.\n\n### Step 1: Install\n\n```bash\npnpm add @aifabrix/miso-client\n```\n\n### Step 2: Create `.env`\n\n```bash\nMISO_CLIENTID=ctrl-dev-my-app\nMISO_CLIENTSECRET=your-secret\nMISO_CONTROLLER_URL=http://localhost:3000\nREDIS_HOST=localhost\n```\n\n→ [Environment configuration example](examples/env-config-example.ts)\n\n### Step 3: Use It\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\nconst isValid = await client.auth.validateToken(token);\n```\n\n**That's it!** You now have authentication, roles, and logging.\n\n→ [Quick start](docs/quick-start.md) · [Configuration](docs/configuration.md)\n\n### Browser/Frontend Usage (DataClient)\n\nFor React, Vue, Angular, or other front-end applications, use **DataClient** - a browser-compatible HTTP client wrapper with ISO 27001 audit logging, caching, retry logic, and more:\n\n**⚠️ Security Warning:** Never expose `clientSecret` in browser/client-side code. Use the Server-Provided Client Token Pattern instead.\n\n```typescript\nimport { DataClient } from \"@aifabrix/miso-client\";\n\n// Server provides client token (from initial page load or API endpoint)\nconst initialClientToken = window.INITIAL_CLIENT_TOKEN; // From server\nconst tokenExpiresAt = window.INITIAL_CLIENT_TOKEN_EXPIRES_AT;\n\n// Browser-safe configuration WITHOUT clientSecret\nconst dataClient = new DataClient({\n  baseUrl: \"https://api.example.com\",\n  misoConfig: {\n    controllerUrl: \"https://controller.aifabrix.ai\",\n    clientId: \"ctrl-dev-my-app\",\n    // ❌ DO NOT include clientSecret in browser code\n\n    // ✅ Use server-provided token\n    clientToken: initialClientToken,\n    clientTokenExpiresAt: tokenExpiresAt,\n\n    // ✅ Refresh callback calls your server endpoint\n    onClientTokenRefresh: async () => {\n      const response = await fetch(\"/api/client-token\", {\n        credentials: \"include\", // Include cookies for auth\n      });\n      return await response.json(); // { token: string, expiresIn: number }\n    },\n  },\n});\n\n// Make authenticated requests with automatic audit logging\nconst users = await dataClient.get(\"/api/users\");\nconst newUser = await dataClient.post(\"/api/users\", { name: \"John\" });\n\n// OAuth callback is automatically handled on initialization\n// Token is extracted from URL hash fragment (#token=...) and stored securely\n// Hash fragment is immediately removed from URL (< 100ms) for security\n\n// Token refresh callback (automatic refresh on 401 errors)\nconst dataClientWithRefresh = new DataClient({\n  baseUrl: \"https://api.example.com\",\n  enableActivitySessionRefresh: false,\n  activitySessionRefreshIntervalMs: 60000,\n  misoConfig: {/* ... */},\n  onTokenRefresh: async () => {\n    // Call your backend endpoint that handles refresh token securely\n    const response = await fetch(\"/api/refresh-token\", {\n      credentials: \"include\", // Include cookies for auth\n    });\n    return await response.json(); // { token: string, expiresIn: number }\n  },\n\n  // Optional cookie-first restore callback (preferred for enterprise SSO)\n  onSessionRestore: async () => {\n    const response = await fetch(\"/api/session/restore\", {\n      credentials: \"include\",\n    });\n    if (!response.ok) return null;\n    return await response.json(); // { token: string, expiresAt?: string }\n  },\n});\n```\n\nWhen `onTokenRefresh` or `onSessionRestore` is configured, both\n`enableActivitySessionRefresh` and `activitySessionRefreshIntervalMs` are required.\nInitialization fails fast if either value is missing.\n\nFinal browser token contract:\n\n- browser user access-token state is runtime-memory-only (no JS-readable persistent token storage dependency)\n- `tokenKeys` are cleanup aliases only (for stale-key removal), not runtime browser token sources\n- browser refresh/session flow supports cookie-first `/api/v1/auth/session` and `/api/v1/auth/refresh` (no required frontend `refreshToken` JSON payload)\n- refresh checks are activity-driven (`mousemove`, `click`, `keydown`) with 60-second cadence and no polling loop\n\n→ [DataClient](docs/dataclient.md) · [Backend client token](docs/backend-client-token.md)\n\n---\n\n### Infrastructure Setup\n\n**First time?** You'll need Keycloak and Miso Controller running.\n\nUse the [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder) (see repository docs for Quick Start):\n\n```bash\n# Start infrastructure (Postgres, Redis)\naifabrix up\n\n# Install Keycloak for authentication\naifabrix create keycloak --port 8082 --database --template platform\naifabrix build keycloak\naifabrix run keycloak\n\n# Install Miso Controller\naifabrix create miso-controller --port 3000 --database --redis --template platform\naifabrix build miso-controller\naifabrix run miso-controller\n```\n\n→ [Infrastructure Guide](https://github.com/esystemsdev/aifabrix-builder) (see repository docs)\n\n**Already have Keycloak and Controller?** Use the Quick Start above.\n\n---\n\n## 🔍 How It Works\n\n**What happens:** Your app validates user tokens from Keycloak.\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\n// Create client (loads from .env automatically)\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\n// Get token from request (helper method)\nconst token = client.getToken(req);\n\nif (token) {\n  const isValid = await client.validateToken(token);\n  if (isValid) {\n    const user = await client.getUser(token);\n    console.log(\"User:\", user);\n  }\n}\n```\n\n**Where to get tokens?** Users authenticate via Keycloak, then your app receives JWTs in the `Authorization` header.\n\n**Client token only:** All controller API calls use only the `x-client-token` header for client authentication. Obtain the client token via config (`clientToken`/`clientTokenExpiresAt`) or a callback (`onClientTokenRefresh`), e.g. from your app backend or a dedicated token service. In browser flows, keep client-token material runtime-memory-only (no `localStorage` persistence). Do not send client id/secret to the controller for normal APIs.\n\n**User token exchange:** To exchange an external token (e.g. Microsoft Entra) for a Keycloak token, use `exchangeUserToken`. The controller validates the external token and returns the Keycloak token and a `tokenExchanged` flag. Protected endpoints may also return the effective token in response headers (`X-Auth-Token`, `X-Token-Exchanged`).\n\n```typescript\n// Exchange external token (e.g. Entra) for Keycloak token\nconst result = await client.exchangeUserToken(entraOrExternalToken);\n// result.data.accessToken - use as Bearer token for controller calls\n// result.data.tokenExchanged - true if controller exchanged the token\n```\n\n→ [Complete authentication example](examples/step-3-authentication.ts)  \n→ [Quick start example](examples/usage.ts)\n\n---\n\n### Step 4: Activate RBAC (Roles)\n\n**What happens:** Check user roles to control access. Roles are cached in Redis for performance. Token validation is also cached (15-minute TTL) to reduce API calls.\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\n// Build on Step 3 - add Redis in .env file\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\nconst token = client.getToken(req);\n\n// Check if user has role\nconst isAdmin = await client.hasRole(token, \"admin\");\nconst roles = await client.getRoles(token);\n\n// Gate features by role\nif (isAdmin) {\n  // Show admin panel\n}\n```\n\n**Pro tip:** Without Redis, checks go to the controller. Add Redis to cache role lookups (15-minute default TTL).\n\n→ [Complete RBAC example](examples/step-4-rbac.ts)  \n→ [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder) (Quick Start in repository docs)\n\n---\n\n### Step 5: Activate Logging\n\n**What happens:** Application logs are sent to the Miso Controller with client token authentication.\n\n**Basic Logging:**\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\n// Client token is automatically managed - no API key needed\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\nconst token = client.getToken(req);\nconst user = await client.getUser(token);\n\n// Log messages\nawait client.log.info(\"User accessed dashboard\", { userId: user?.id });\nawait client.log.error(\"Operation failed\", { error: err.message });\nawait client.log.warn(\"Unusual activity\", { details: \"...\" });\n```\n\n**Fluent API with Request Context (Express):**\n\n```typescript\nimport { Request } from \"express\";\n\n// Auto-extract context from Express Request\napp.get(\"/api/users\", async (req: Request, res) => {\n  await client.log.withRequest(req).info(\"Users list accessed\");\n  // Automatically includes: IP, method, path, userAgent, correlationId, userId\n});\n```\n\n**Indexed Context for Fast Queries:**\n\n```typescript\nimport { extractLoggingContext } from \"@aifabrix/miso-client\";\n\nconst logContext = extractLoggingContext({\n  source: {\n    key: \"datasource-1\",\n    displayName: \"PostgreSQL DB\",\n    externalSystem: { key: \"system-1\", displayName: \"External API\" },\n  },\n  record: { key: \"record-123\", displayName: \"User Profile\" },\n});\n\nawait client.log\n  .withIndexedContext(logContext)\n  .withContext({ correlationId, userId })\n  .error(\"Sync failed\");\n```\n\n**What happens to logs?** They're sent to the Miso Controller for centralized monitoring and analysis. Client token is automatically included. Indexed context fields enable fast database queries for observability and compliance.\n\n**Event Emission Mode:** When embedding the SDK directly in your own application, enable `emitEvents = true` to receive logs as Node.js events instead of HTTP calls:\n\n```typescript\nconst client = new MisoClient({\n  ...loadConfig(),\n  emitEvents: true, // Enable event emission mode\n});\n\n// Listen to log events\nclient.log.on(\"log\", (logEntry: LogEntry) => {\n  // Save directly to DB without HTTP\n  db.saveLog(logEntry);\n});\n```\n\n→ [Complete logging example](examples/step-5-logging.ts)  \n→ [Event emission mode example](examples/event-emission-mode.example.ts)  \n→ [Audit and logging](docs/audit-and-logging.md) · [Configuration](docs/configuration.md)\n\n---\n\n### Step 6: Activate Audit\n\n**What happens:** Create audit trails for compliance and security monitoring.\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\n// Complete configuration (all in .env)\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\nconst token = client.getToken(req);\nconst isValid = await client.validateToken(token);\nconst canEdit = await client.hasPermission(token, \"edit:content\");\nconst user = await client.getUser(token);\n\n// Audit: User actions\nawait client.log.audit(\"user.login\", \"authentication\", {\n  userId: user?.id,\n  ip: req.ip,\n  userAgent: req.headers[\"user-agent\"],\n});\n\n// Audit: Content changes\nawait client.log.audit(\"post.created\", \"content\", {\n  userId: user?.id,\n  postId: \"post-123\",\n  postTitle: req.body.title,\n});\n\n// Audit: Permission checks\nawait client.log.audit(\"access.denied\", \"authorization\", {\n  userId: user?.id,\n  requiredPermission: \"edit:content\",\n  resource: \"posts\",\n});\n```\n\n**What to audit:** Login/logout, permission checks, content creation/deletion, role changes, sensitive operations.\n\n→ [Complete audit example](examples/step-6-audit.ts)  \n→ [Quick start](docs/quick-start.md) · [Errors](docs/errors.md)\n\n---\n\n### Step 6.5: HTTP Request Audit (ISO 27001)\n\n**What happens:** All HTTP requests are automatically audited with sensitive data masking for ISO 27001 compliance.\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\n// HTTP requests are automatically audited\n// - All requests/responses are logged with masked sensitive data\n// - User context is extracted from JWT tokens\n// - Request/response metadata (duration, size, status codes) is captured\n// - Sensitive fields (passwords, tokens, PII, financial data) are automatically masked\n\n// No additional code needed - works automatically!\nconst user = await client.getUser(token);\n// This HTTP request is automatically audited with ISO 27001 compliance\n```\n\n**Configuration (Optional):**\n\n```bash\n# Add to .env for custom sensitive fields configuration\nMISO_SENSITIVE_FIELDS_CONFIG=/path/to/sensitive-fields.config.json\n```\n\n**Built-in Performance Optimizations:**\nThe SDK automatically optimizes audit logging performance:\n\n- Automatic response body truncation for large payloads\n- Optimized masking operations with intelligent size-based processing\n- Batch logging to minimize network overhead\n- Configurable audit levels for performance tuning: `minimal`, `standard`, `detailed` (default), `full`\n- Fast path optimizations for small requests\n- Parallel processing for improved throughput\n\n**Performance Configuration:**\n\n```typescript\nconst client = new MisoClient({\n  ...loadConfig(),\n  audit: {\n    level: \"standard\", // Light masking, good performance\n    batchSize: 20, // Batch 20 logs per request\n    maxResponseSize: 10000, // Truncate large responses\n  },\n});\n```\n\n**What gets audited:**\n\n- All HTTP requests to the controller\n- Request/response metadata (method, URL, status, duration, size)\n- User context (extracted from JWT tokens)\n- Sensitive data is automatically masked (passwords, tokens, PII, credit cards, etc.)\n\n**ISO 27001 Compliance:**\n\n- Automatic sensitive data masking before logging\n- Configurable sensitive field patterns\n- Audit trail for all API communications\n- Data protection controls enforced\n- Optimized performance without compromising compliance\n\n→ [Configuration](docs/configuration.md) · [Audit and logging](docs/audit-and-logging.md)\n\n→ [Custom sensitive fields example](examples/custom-sensitive-fields.example.ts)  \n→ [Sensitive fields config example](examples/sensitive-fields-config.example.json)\n\n---\n\n### Step 7: Encryption & Caching\n\n**What happens:** Use encryption for sensitive data and generic caching for improved performance.\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\n// Encryption (requires ENCRYPTION_KEY in .env or config.encryptionKey)\nif (client.encryption) {\n  const encrypted = client.encryption.encrypt(\"sensitive-data\");\n  const decrypted = client.encryption.decrypt(encrypted);\n  console.log(\"Decrypted:\", decrypted);\n}\n\n// Generic caching (automatically uses Redis if available, falls back to memory)\nawait client.cache.set(\"user:123\", { name: \"John\", age: 30 }, 600); // 10 minutes TTL\nconst user = await client.cache.get<{ name: string; age: number }>(\"user:123\");\nif (user) {\n  console.log(\"Cached user:\", user);\n}\n```\n\n**Configuration:**\n\n```bash\n# Add to .env\nENCRYPTION_KEY=your-32-byte-encryption-key\n```\n\n→ [Complete encryption & caching example](examples/step-7-encryption-cache.ts)  \n→ [Encryption](docs/encryption.md) · [Redis](docs/redis.md)\n\n---\n\n### Step 8: Pagination, Filter, and Sort Utilities\n\n**What happens:** Use reusable utilities for pagination, filtering, and sorting following enterprise application best practices and industry standards (ISO 27001 compliant).\n\n```typescript\nimport {\n  FilterBuilder,\n  parsePaginationParams,\n  parseSortParams,\n  buildQueryString,\n  createPaginatedListResponse,\n} from \"@aifabrix/miso-client\";\n\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\n// Dynamic filter building (FilterBuilder)\nconst filterBuilder = new FilterBuilder()\n  .add(\"status\", \"eq\", \"active\")\n  .add(\"region\", \"in\", [\"eu\", \"us\"])\n  .add(\"created_at\", \"gte\", \"2024-01-01\");\n\nconst queryString = filterBuilder.toQueryString();\n// Returns: \"filter=status:eq:active&filter=region:in:eu,us&filter=created_at:gte:2024-01-01\"\n\n// Parse pagination from query string\nconst { currentPage, pageSize } = parsePaginationParams({\n  page: \"1\",\n  page_size: \"25\",\n});\n\n// Parse sort from query string\nconst sortOptions = parseSortParams({ sort: \"-updated_at\" });\n\n// Build complete query\nconst completeQuery = buildQueryString({\n  filters: filterBuilder.build(),\n  sort: [\"-updated_at\"],\n  page: currentPage,\n  pageSize: pageSize,\n});\n\n// Create paginated response\nconst response = createPaginatedListResponse(\n  items,\n  120, // totalItems\n  1, // currentPage\n  25, // pageSize\n  \"application\", // type\n);\n```\n\n**Note:** All utilities use **camelCase** naming conventions following TypeScript best practices (`currentPage`, `pageSize`, `statusCode`, etc.), ensuring consistency and ISO 27001 compliance.\n\n**Pro tip:** These utilities are business-logic-free and reusable across applications. Perfect for building query strings, parsing API responses, and testing with mocks. Designed following enterprise best practices for maintainability and compliance.\n\n#### Remember filters between page visits\n\nCreate one vanilla Zustand store for each user and page. The store persists only\nthe query and restores it when the page is opened again:\n\n```typescript\nimport type { FilterQuery } from \"@aifabrix/miso-client\";\nimport { createRememberedFilterStore } from \"@aifabrix/miso-client/filter-store\";\n\ninterface ConnectedSystemsQuery extends FilterQuery {\n  search: string;\n  formFilters: {\n    status: string[];\n  };\n}\n\nexport function createConnectedSystemsFilterStore(userId: string) {\n  return createRememberedFilterStore<ConnectedSystemsQuery>({\n    appId: \"dataplane\",\n    userId,\n    pageId: \"connected-systems\",\n    initialQuery: {\n      search: \"\",\n      formFilters: { status: [] },\n      filters: [],\n      sort: [\"name\"],\n      page: 1,\n      pageSize: 25,\n    },\n  });\n}\n```\n\nThe returned store is framework-independent. A React page can subscribe with\nZustand's `useStore` and must keep one store instance for each scope:\n\n```typescript\nimport { useMemo } from \"react\";\nimport { useStore } from \"zustand\";\n\nconst filterStore = useMemo(\n  () => createConnectedSystemsFilterStore(userId),\n  [userId],\n);\nconst query = useStore(filterStore, (state) => state.query);\nconst patchQuery = useStore(filterStore, (state) => state.patchQuery);\n```\n\nUse `setQuery`, `patchQuery`, `setFilters`, `setSort`, `setPage`,\n`setPageSize`, or `reset` to update shared state. Pass `version` and `migrate`\nwhen changing a persisted query schema, or provide a custom Zustand\n`StateStorage` to use `sessionStorage` or another backend.\n\nPersisted queries must be JSON-serializable. Never include access tokens, client\ncredentials, secrets, or sensitive personal data in the query or scope\nidentifiers. API responses are not cached; the application should reload data\nfrom the restored query.\n\n→ [Pagination, filter, sorting](docs/pagination-filter-sorting.md)\n\n---\n\n### Step 8.5: Locale Datetime Formatting\n\n**What happens:** Use a shared SDK utility to display date/time values consistently across UI apps while respecting browser locale and timezone.\n\n```typescript\nimport {\n  formatDateTime,\n  formatDate,\n  formatTime,\n  createDateTimeFormatter,\n  formatLogDateTimeUtcFixed,\n  parseIsoTimestampMs,\n} from \"@aifabrix/miso-client\";\n\nconst value = \"2026-07-21T13:20:36.123Z\";\n\nconst dateTimeDisplay = formatDateTime(value); // runtime locale + runtime timezone\nconst dateDisplay = formatDate(value, { dateFormat: \"long\" });\nconst timeDisplay = formatTime(value, {\n  includeSeconds: true,\n  use24Hour: true,\n});\n\nconst renderDateTime = createDateTimeFormatter({\n  locale: \"en-GB\",\n  timeZone: \"UTC\",\n  includeSeconds: true,\n  use24Hour: true,\n});\nconst rowDateTime = renderDateTime(value);\n\n// Deterministic UTC log/audit format\nconst logDateTime = formatLogDateTimeUtcFixed(value); // \"21/07/2026, 13:20:36\"\n\n// Epoch milliseconds parsing with safe fallback\nconst timestampMs = parseIsoTimestampMs(value); // number, or 0 when empty/invalid\n```\n\n**Fallback behavior:**\n\n- Empty values (`null`, `undefined`, empty string, `-`) return `-` by default\n- Invalid non-empty strings return original trimmed value\n- Invalid numeric/date values return fallback\n- `parseIsoTimestampMs` returns `0` for empty/invalid values\n\n→ [Datetime formatting](docs/datetime-formatting.md)\n\n---\n\n### Step 9: Express.js Utilities\n\n**What happens:** Use Express-specific utilities for building REST APIs with standardized responses, error handling, and validation.\n\n#### Installation\n\nFor Express.js applications, the SDK includes optional Express utilities:\n\n```bash\npnpm add @aifabrix/miso-client express\n```\n\n#### Quick Start\n\n```typescript\nimport express from \"express\";\nimport {\n  injectResponseHelpers,\n  asyncHandler,\n  ValidationHelper,\n  setErrorLogger,\n  EncryptionUtil,\n} from \"@aifabrix/miso-client\";\n\nconst app = express();\n\n// Inject response helpers\napp.use(injectResponseHelpers);\n\n// Configure error logger (optional)\nsetErrorLogger({\n  async logError(message, options) {\n    console.error(message, options);\n  },\n});\n\n// Use asyncHandler for automatic error handling\napp.get(\n  \"/users/:id\",\n  asyncHandler(async (req, res) => {\n    const user = await ValidationHelper.findOrFail(\n      () => db.user.findById(req.params.id),\n      \"User\",\n      req.params.id,\n    );\n    res.success(user, \"User retrieved\");\n  }),\n);\n```\n\n#### Response Helpers\n\nStandardized API response formatting:\n\n```typescript\nimport { ResponseHelper } from \"@aifabrix/miso-client\";\n\n// Success response (200)\nreturn ResponseHelper.success(res, data, \"Success message\");\n\n// Created response (201)\nreturn ResponseHelper.created(res, newResource, \"Resource created\");\n\n// Paginated response\nreturn ResponseHelper.paginated(res, items, {\n  currentPage: 1,\n  pageSize: 20,\n  totalItems: 100,\n  type: \"user\",\n});\n\n// No content (204)\nreturn ResponseHelper.noContent(res);\n\n// Accepted (202)\nreturn ResponseHelper.accepted(res, { jobId: \"123\" }, \"Job queued\");\n\n// Or use injected methods on res object\nres.success(user);\nres.created(newPost);\nres.paginated(users, meta);\nres.noContent();\nres.accepted(data);\n```\n\n#### Async Handler\n\nEliminates try-catch blocks in route handlers:\n\n```typescript\nimport { asyncHandler } from \"@aifabrix/miso-client\";\n\n// Automatic error handling\nrouter.post(\n  \"/users\",\n  asyncHandler(async (req, res) => {\n    const user = await userService.create(req.body);\n    res.created(user, \"User created\");\n  }),\n);\n\n// Named variant for better error messages\nrouter.get(\n  \"/users/:id\",\n  asyncHandlerNamed(\"getUser\", async (req, res) => {\n    const user = await userService.findById(req.params.id);\n    res.success(user);\n  }),\n);\n```\n\n#### Validation Helper\n\nCommon validation patterns:\n\n```typescript\nimport { ValidationHelper } from \"@aifabrix/miso-client\";\n\n// Find or throw 404\nconst user = await ValidationHelper.findOrFail(\n  () => prisma.user.findUnique({ where: { id } }),\n  \"User\",\n  id,\n);\n\n// Ensure doesn't exist or throw 409\nawait ValidationHelper.ensureNotExists(\n  () => prisma.user.findUnique({ where: { email } }),\n  \"User\",\n  email,\n);\n\n// Check ownership or admin role\nValidationHelper.ensureOwnershipOrAdmin(req, resourceUserId);\n\n// Validate required fields\nValidationHelper.validateRequiredFields(data, [\"name\", \"email\"], \"User\");\n\n// Validate string length\nValidationHelper.validateStringLength(password, \"password\", 8, 128);\n```\n\n#### Error Handling\n\nRFC 7807 compliant error responses with optional custom logger:\n\n```typescript\nimport { setErrorLogger } from \"@aifabrix/miso-client\";\n\n// Configure during app initialization\nsetErrorLogger({\n  async logError(message, options) {\n    await yourLogger.error(message, options);\n  },\n});\n\n// Errors are automatically handled by asyncHandler\n// AppError is automatically converted to RFC 7807 format\n```\n\n#### Encryption\n\nAES-256-GCM encryption for sensitive data:\n\n```typescript\nimport { EncryptionUtil } from \"@aifabrix/miso-client\";\n\n// Initialize once at startup (uses ENCRYPTION_KEY env var)\nEncryptionUtil.initialize();\n\n// Encrypt sensitive data\nconst encrypted = EncryptionUtil.encrypt(\"sensitive-data\");\n\n// Decrypt\nconst decrypted = EncryptionUtil.decrypt(encrypted);\n\n// Generate new key (for setup)\nconst key = EncryptionUtil.generateKey();\nconsole.log(\"ENCRYPTION_KEY=\" + key);\n```\n\n#### Sort Utilities\n\nParse and apply sorting for API queries:\n\n```typescript\nimport { parseSortParams, applySorting } from \"@aifabrix/miso-client\";\n\n// Parse sort query parameters\nconst sortOptions = parseSortParams({ sort: [\"-createdAt\", \"name\"] });\n// Returns: [{ field: 'createdAt', order: 'desc' }, { field: 'name', order: 'asc' }]\n\n// Apply sorting to in-memory data (client-side)\nconst sortedData = applySorting(users, sortOptions);\n\n// Or parse from Express request query\napp.get(\"/users\", (req, res) => {\n  const sortOptions = parseSortParams(req.query);\n  // Use sortOptions to build database query with Prisma/SQL\n  const users = await prisma.user.findMany({\n    orderBy: sortOptions.map((s) => ({ [s.field]: s.order })),\n  });\n  res.success(users);\n});\n```\n\n**Note:** For large datasets, always sort at the database level. Use `applySorting()` only for small in-memory datasets or client-side sorting.\n\n→ [Complete Express examples](examples/)  \n→ [Quick start](docs/quick-start.md) · [Errors](docs/errors.md)\n\n---\n\n### Step 10: Multi-Authentication Strategy\n\n**What happens:** Configure flexible authentication methods with priority-based fallback for advanced authentication scenarios.\n\n```typescript\nimport { MisoClient, loadConfig } from \"@aifabrix/miso-client\";\n\nconst client = new MisoClient(loadConfig());\nawait client.initialize();\n\n// Global strategy configuration\nconst client = new MisoClient({\n  ...loadConfig(),\n  authStrategy: {\n    methods: [\"bearer\", \"client-token\", \"client-credentials\"],\n  },\n});\n\n// Per-request strategy override\nconst strategy = client.createAuthStrategy(\n  [\"bearer\", \"api-key\"],\n  \"token-123\",\n  \"api-key-456\",\n);\nawait client.getRoles(token, strategy);\n\n// Using requestWithAuthStrategy for custom requests\nawait client.requestWithAuthStrategy(\"GET\", \"/api/data\", {\n  methods: [\"client-token\"],\n});\n\n// Get default strategy\nconst defaultStrategy = client.getDefaultAuthStrategy(token);\n// Returns: { methods: ['bearer', 'client-token'], bearerToken: token }\n```\n\n**Supported Authentication Methods:**\n\n- `bearer` - Bearer token authentication (Authorization: Bearer <token>)\n- `client-token` - Client token authentication (x-client-token header)\n- `client-credentials` - Client credentials authentication (x-client-id and x-client-secret headers)\n- `api-key` - API key authentication (Authorization: Bearer <api-key>)\n\n**Priority-Based Fallback:** Methods are tried in the order specified in the strategy array until one succeeds.\n\n**Environment Variable Configuration:**\n\n```bash\nMISO_AUTH_STRATEGY=bearer,client-token,api-key\nMISO_BEARER_TOKEN=optional-bearer-token\nMISO_API_KEY=optional-api-key\n```\n\n**Backward Compatibility:** All existing code continues to work without changes. If no strategy is specified, defaults to `['bearer', 'client-token']` (existing behavior).\n\n→ [Authentication](docs/authentication.md)\n\n---\n\n## 🔧 Configuration\n\n```typescript\ninterface MisoClientConfig {\n  controllerUrl: string; // Required: Controller URL\n  clientId: string; // Required: Client ID (e.g., 'ctrl-dev-my-app')\n  clientSecret: string; // Required: Client secret\n  redis?: RedisConfig; // Optional: For caching\n  logLevel?: \"debug\" | \"info\" | \"warn\" | \"error\";\n  encryptionKey?: string; // Optional: Encryption key (or use ENCRYPTION_KEY env var)\n  sensitiveFieldsConfig?: string; // Optional: Path to ISO 27001 sensitive fields config JSON\n  emitEvents?: boolean; // Optional: Emit log events instead of HTTP/Redis (for direct SDK embedding)\n  authStrategy?: AuthStrategy; // Optional: Default authentication strategy\n  cache?: {\n    roleTTL?: number; // Role cache TTL (default: 900s)\n    permissionTTL?: number; // Permission cache TTL (default: 900s)\n    tokenValidationTTL?: number; // Token validation cache TTL (default: 900s)\n  };\n  audit?: AuditConfig; // Optional: Audit logging configuration\n}\n\ninterface AuthStrategy {\n  methods: (\"bearer\" | \"client-token\" | \"client-credentials\" | \"api-key\")[];\n  bearerToken?: string; // Optional: Bearer token for bearer authentication\n  apiKey?: string; // Optional: API key for api-key authentication\n}\n```\n\n**Recommended:** Use `loadConfig()` to load from `.env` file automatically.\n\n→ [Configuration](docs/configuration.md)\n\n---\n\n## 📚 Documentation\n\n- **[Docs index](docs/README.md)** – What to read when\n- **[Quick start](docs/quick-start.md)** – Install, .env, init, validate + getUser\n- **[Backend client token](docs/backend-client-token.md)** – One route for frontend token\n- **[Authentication](docs/authentication.md)** · **[Authorization](docs/authorization.md)** · **[Audit and logging](docs/audit-and-logging.md)** · **[Errors](docs/errors.md)** · **[Redis](docs/redis.md)** · **[Pagination/filter/sort](docs/pagination-filter-sorting.md)** · **[Encryption](docs/encryption.md)**\n- **[Datetime formatting](docs/datetime-formatting.md)** - Locale-aware datetime display for UI apps\n- **[Configuration](docs/configuration.md)** · **[DataClient](docs/dataclient.md)** · **[Troubleshooting](docs/troubleshooting.md)**\n- **[Examples](docs/examples/README.md)** – Testing and minimal examples\n\n---\n\n## 🏗️ Architecture\n\nThe SDK consists of five core services:\n\n- **AuthService** - Token validation and user authentication\n- **RoleService** - Role management with Redis caching\n- **PermissionService** - Fine-grained permissions\n- **LoggerService** - Centralized logging with API key authentication\n- **RedisService** - Caching and queue management (optional)\n\n→ [Docs index](docs/README.md)\n\n---\n\n## 🌐 Setup Your Application\n\n**First time setup?** Use the AI Fabrix Builder:\n\n1. **Create your app:**\n\n   ```bash\n   aifabrix create myapp --port 3000 --database --language typescript\n   ```\n\n2. **Login to controller:**\n\n   ```bash\n   aifabrix login\n   ```\n\n3. **Register your application:**\n\n   ```bash\n   aifabrix app register myapp --environment dev\n   ```\n\n4. **Start development** and then deploy to Docker or Azure.\n\n→ [Full Quick Start Guide](https://github.com/esystemsdev/aifabrix-builder) (see repository docs)\n\n---\n\n## 💡 Next Steps\n\n### Learn More\n\n- [Quick start](docs/quick-start.md) · [Authentication](docs/authentication.md) · [Errors](docs/errors.md) · [DataClient](docs/dataclient.md)\n\n### Common Tasks\n\n**Add authentication middleware:**\n\n```typescript\napp.use(async (req, res, next) => {\n  const token = client.getToken(req);\n  if (token) {\n    const isValid = await client.validateToken(token);\n    if (isValid) {\n      req.user = await client.getUser(token);\n    }\n  }\n  next();\n});\n```\n\n**Protect routes by role:**\n\n```typescript\napp.get(\"/admin\", async (req, res) => {\n  const token = client.getToken(req);\n  if (!token) return res.status(401).json({ error: \"Unauthorized\" });\n\n  const isAdmin = await client.hasRole(token, \"admin\");\n  if (!isAdmin) return res.status(403).json({ error: \"Forbidden\" });\n\n  // Admin only code\n  res.json({ message: \"Admin panel\" });\n});\n```\n\n**Use environment variables:**\n\n```bash\nMISO_CLIENTID=ctrl-dev-my-app\nMISO_CLIENTSECRET=your-secret\nMISO_CONTROLLER_URL=http://localhost:3000\nREDIS_HOST=localhost\nREDIS_PORT=6379\nMISO_LOG_LEVEL=info\nMISO_SENSITIVE_FIELDS_CONFIG=/path/to/sensitive-fields.config.json  # Optional: ISO 27001 config\nMISO_EMIT_EVENTS=true  # Optional: Enable event emission mode (for direct SDK embedding)\nMISO_AUTH_STRATEGY=bearer,client-token,api-key  # Optional: Authentication strategy (comma-separated)\nMISO_BEARER_TOKEN=optional-bearer-token  # Optional: Default bearer token\nMISO_API_KEY=optional-api-key  # Optional: Default API key\n```\n\n---\n\n## 🐛 Troubleshooting\n\n**\"Cannot connect to controller\"**  \n→ Verify `controllerUrl` is correct and accessible  \n→ Check network connectivity\n\n**\"Redis connection failed\"**  \n→ SDK falls back to controller-only mode (slower but works)  \n→ Fix: `aifabrix up` to start Redis\n\n**\"Client token fetch failed\"**  \n→ Check `MISO_CLIENTID` and `MISO_CLIENTSECRET` are correct  \n→ Verify credentials are configured in controller\n\n**\"Token validation fails\"**  \n→ Ensure Keycloak is running and configured correctly  \n→ Verify token is from correct Keycloak instance\n\n→ [More Help](docs/troubleshooting.md)\n\n---\n\n## 📦 Installation\n\n```bash\npnpm add @aifabrix/miso-client\n```\n\n---\n\n## 🔗 Links\n\n- **GitHub Repository**: [https://github.com/esystemsdev/aifabrix-miso-client](https://github.com/esystemsdev/aifabrix-miso-client)\n- **Builder Documentation**: [https://github.com/esystemsdev/aifabrix-builder](https://github.com/esystemsdev/aifabrix-builder)\n- **Issues**: [https://github.com/esystemsdev/aifabrix-miso-client/issues](https://github.com/esystemsdev/aifabrix-miso-client/issues)\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n---\n\n**Made with ❤️ by eSystems Nordic Ltd.**\n","readmeFilename":"README.md"}