{"_id":"keryx","_rev":"143-5d29ccdc83d69d752d6ef268141f6ff1","name":"keryx","dist-tags":{"latest":"0.46.0"},"versions":{"0.0.1":{"name":"keryx","version":"0.0.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evantahler@gmail.com"},"license":"MIT","_id":"keryx@0.0.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"f29c813cd2b63b8ec858988818ef60236dc14a3b","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.0.1.tgz","fileCount":60,"integrity":"sha512-lwsXKRJsUkWkSJu4xpAld8MP7WrLBKlstp22o+cnuB8B75sAjkMquAqzcLhWoNqoSRv/YL3ohspwKjvz6ArUBw==","signatures":[{"sig":"MEUCIGMX9+YDf5cd681d3wDc2LtsQBKGSg6htRbA5hVMQqI0AiEA3nFcJvyxC8etNaGSXshuOll0ToTq2/bOjX4i/35Y6NA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":259747},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"evantahler","email":"evan@evantahler.com"},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.8.0","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"25.6.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.0.1_1771217692879_0.09804543858612158","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"keryx","version":"0.1.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.1.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"daa023253ebc528dd096941b6793656356583007","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.1.2.tgz","fileCount":67,"integrity":"sha512-A5GJrp3owtGpVVZcEKetaltgmgb7bUMGwf5mnB6oAeUPUJ0hDoOu78awHDYyIWT7Vw58LFMYm0L2FCWEXWz8xg==","signatures":[{"sig":"MEUCIGUTkpQOs2Hzs3TXGw7w8HFY1tgyhymWcRf4pY4hBUCVAiEAlLHCCbX5QT8y52fofFvK8DQPZ+57Kt+8lVLqEAF38JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270018},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"0944f87e36745139f738fa9f2895d8de181d0076","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.1.2_1771568930513_0.17290486624046908","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"keryx","version":"0.2.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.2.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8db9a87093b555d3ae204ea67b681d292e344b23","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.2.0.tgz","fileCount":67,"integrity":"sha512-7qj8rJEJNmpkyJW23ymm0AXrvIMRpR8BjS3mtW/YCfLO4UeJuoh+ZBPV93x5nqQBvOogDi1IHt4N/Y5QAH6QmQ==","signatures":[{"sig":"MEUCIAWurspPwH9BZK0uCnJTlpIMTm8SVYSyJNEsyRAfYB8eAiEApDuODhjp7uWM9GePCiOpoQRfo/soyE0ITPfEXyv/pzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272738},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"64e33b28c455925bc184781544396d3a55837122","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.2.0_1771611707432_0.20134363806752242","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"keryx","version":"0.2.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.2.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0efe54d2eb27387dce40fd9e4286156853665c19","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.2.1.tgz","fileCount":67,"integrity":"sha512-4w9DTBEi2FeVA9aG7h6RhDAh2BIIDGdWAQtViRHOaN2GHvJaYmesyD586l1MWq6fHFo8RfHkVS90B055TPRAkg==","signatures":[{"sig":"MEQCIEv8BoZCXn3KmNyYkJC4bjXegkt9ad62X1yW1fpxGhUnAiAfWX2quAukhnhj9sPBtMGBaOycCsqOlodyerFf9jwIEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272738},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"32e9dafedb03cdc65a8972d7b29b7fcdb9aeee79","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.2.1_1771612182002_0.06843100212258713","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"keryx","version":"0.2.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.2.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"482b966d8362589f0557fc0c8876122035b6c223","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.2.2.tgz","fileCount":67,"integrity":"sha512-wfsuTLQ6x26QNSKp0cVxNDATFIZEOMZE+aAS9uVJwoAeC3awOq9bjSqT9gXzomRktHXjqlFpnW5m4CCak3GIPA==","signatures":[{"sig":"MEUCIQDuy6XBJ49U1lSEchfLCkrcAL5MRDS6ym9lovzFCkRN+AIgT59mQjHmdcP3KEvmnhIGqW6VDwYalct5srQ2c4hscfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272300},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"7d4aaa59d0345aa6b9fe4913e24a262b8239f386","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.2.2_1771620918922_0.6232729626851559","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"keryx","version":"0.3.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.3.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5b8db58a9a0be157debb2c548c2eeb20f735acef","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.3.0.tgz","fileCount":67,"integrity":"sha512-KfLUa9RyIun7ldaM12qKvyXRfpKGZ01dwizGPX//1Cm3A3a0d4CLMnDlXWq4STEMx/ZVep/uJK0KLwD3bd70/A==","signatures":[{"sig":"MEUCIQDOlnEuqxi9FSDOzeEmXZXp3VgxfFyZBauie6ugxsUzuwIgVc2pS5Oz/a5mRBVR8Vn5Nq6QVVRMIctwor32w8kSELQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272368},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"765dcad60da5b8d4884a2d149a559f59b10c6c75","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.3.0_1771628472277_0.9071086757158267","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"keryx","version":"0.3.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.3.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8e30d30a9fb1bfef247dfa965f094359336c6483","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.3.1.tgz","fileCount":68,"integrity":"sha512-TPDpygcJaw8KqWldgsGcCLyJ2rfw4bOB0rqQw9ag3zTVOdyL2hgJyRQVOIsxGZgdOFNXmAoYUs3ZZccVWHpveQ==","signatures":[{"sig":"MEUCIEHmoed9rD8Wd3fkWx/rhAB+/3ksIJydJKElkuOymbDTAiEAsvrhiMtou0C0ROPnyHWaKVLL+SBpzzxtEen3AY0r7yA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278452},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"c56e707b64de68655afc0a3d2af7b89e5cd936f2","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.3.1_1771631666398_0.28632544827197215","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"keryx","version":"0.3.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.3.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"a8f8c21ea6d5fd93ccb4867b41d8f9890d344826","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.3.2.tgz","fileCount":68,"integrity":"sha512-xC1spfHP1PckKPZXxo/QIfhSYJJ47JAANSPYOxMFSybysgKIjAo70wSpWC5OZ5bhaC9uFrcp0r7+oNMSxMwFMQ==","signatures":[{"sig":"MEQCIASE7WiSLZNtc5qnph9O2GkCsm/CknKafDTiCPQ7+/OpAiBj8PbtItieMw/7Fsz2NxBaDbuY0FnBY2UpC0/xAsJMig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278473},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"3c4beb23835ff4a7c35e3a754f9524e014b42079","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/pg":"^8.16.0","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.3.2_1771635775557_0.023475403403037776","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"keryx","version":"0.3.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.3.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"123d05a64eca00e1bd1fd7810234f97b4892c99a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.3.3.tgz","fileCount":68,"integrity":"sha512-5Es5Mv9aMaX+BAg7epvwSqd3hvJDKcgtyUGiJMCqf3o6a7fwtqIV8Fn+jOHYz/TIb2ppMK19hnli0XOCF3LDJQ==","signatures":[{"sig":"MEYCIQCRrZ2Q29RqOeodlF4g/CzO7HlYkFh9QRXs7xzums/bagIhAKptTGR6A/VZ7HB7/0mxXJMJpYA0RKBzSP6h6liwzN2h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278506},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"76ed24aefcc574d1bd7bb832ae17fabd2e3d11bb","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.20.18","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.3.3_1771636567224_0.5669155559121495","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"keryx","version":"0.3.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.3.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"709d333068a0c59ca51146cfd2c648a0353e61f2","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.3.4.tgz","fileCount":68,"integrity":"sha512-oF7DXN8q2iV+iXXlPKAM9agYt+MqSYBqzw6+vSFYXvFhaYjo6D1mrmxnOCL9i6I9IhgdVaI2LdeJx2NYjhO/WQ==","signatures":[{"sig":"MEQCICQyZsNm6d6KhODxaXykQbkwW2Uk9Vahie6uHL0TzOCXAiBQjV5D/mje8xDRP+xhLy8YFFpUQjX8rUe0BooJAz+PMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278498},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5fc7d5cc1fa1a9f54c4c8f3b62b79914067f5906","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","zod":"^4.3.6","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","drizzle-orm":"^0.45.1","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.3.4_1771637364471_0.8384390923309926","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"keryx","version":"0.3.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.3.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"ae8726ab4f6261ba419dbd84d17f871e1baab189","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.3.5.tgz","fileCount":68,"integrity":"sha512-QK88K5Jp+qVJK5Lml/rvniZslgZLm1zv5DtlBoEpx2Yqs2sOt/uzFcphTkD55gsgWTf919SjKRGBko4+f5xctg==","signatures":[{"sig":"MEUCIQC8YicQJR3eHrpUPHgdfpC1BKCqtAjTDhpQiQYy0hM0PgIgE/DinCICCmXUDqGfT2ReFXRHj2FGijWYS1lv1qaodmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278652},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"c27def63d83f7820b0563307bb269afd19c69220","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.3.5_1771638962837_0.1055303445222715","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"keryx","version":"0.4.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.4.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2ff90fabd9230fa1a482c17021366dd68bc6258d","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.4.0.tgz","fileCount":68,"integrity":"sha512-GR9lyAJFGD60yP7S3OYHaQ5qITULXZdJjk0uk2nn7MGOaklFfb2OF6lcpRYZqqpuPo9f/dxieFEHPw9juTn9MQ==","signatures":[{"sig":"MEUCIH1B7r5Sq67izqtItbPgJpzHBwuLvUqkZO98uOGskN7kAiEA1coFRNZkd8RryMpEOeZ3KsvcHZ3lOXDPg6dE9igarWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280569},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"527a69a89f9235d5aa16d1563994f94bbc79f945","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.4.0_1771641994450_0.7723155223975928","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"keryx","version":"0.5.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.5.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c04785a6e833328c37cdd6f076193186d0e2bc4a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.5.0.tgz","fileCount":69,"integrity":"sha512-80JqgR1BWrSvVH1gwMi7ZdK5or5iYbWc4Erohxdgzf8pTosPMUL64cEDJ+oOTV/VDMwD1XGN0tsTwiAAo717KQ==","signatures":[{"sig":"MEYCIQCbWHDJwrw1+RabuLaEWHs7E7RAOtbpAMQECVzjffZbSgIhAM13izOeosBQSvbj9AV4MjRXCK28oRvnar5wqBhCZpo3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":283004},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"de37320817db64f2235257e9bd91f99e3658e342","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.5.0_1771719387058_0.45856385660418275","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"keryx","version":"0.6.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.6.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"e0ac43a0cfd748dd87e55c95a1517ab3f9c6d964","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.6.0.tgz","fileCount":69,"integrity":"sha512-bHEANaNlitiW6tB5l3UPxTFrBsdSq35xjhCUCx55zj86vuOFJElGunvSq0nh7RWbtCBQvMnX58F6FQTS9d2GJg==","signatures":[{"sig":"MEYCIQCZjyMOcpxok5iBzFhTj0KmvKfRvzOJX4sIGFL2jmb2IAIhAOl7uaY+14gU5suoAKj5844BHKb1Ew7skzUZapsKeZfx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301634},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"bce5dcfdc6e2c95cf6f7162227fe0cff24c6f69a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.6.0_1771722012320_0.1977819483664054","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"keryx","version":"0.7.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.7.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d71a7da1c12d163dfc1368e1568ef0045ef28bd0","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.7.0.tgz","fileCount":76,"integrity":"sha512-7Tdl9ISdmjzRVvmvkBONtTiN51SJ9P9VxsgEnprafi52/jX2pGd0Duobwry4kAmvsgXaNLUqTr0ui5+SR5gseg==","signatures":[{"sig":"MEYCIQDqsZIZWVqN/l+gORSb9yEKy/jTjF/jFRDaIVzNta61xAIhAMvUlIIPeRdfIeqAs2X3xY4m8E90AP9Yw953DAI5C2bI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311726},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"177f8bce63b866f9e931aa6bfcd018a14715dde1","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.7.0_1771722616706_0.6951489169643379","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"keryx","version":"0.8.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.8.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"df17a3f04783c83016ec115aab049814fa945c27","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.8.0.tgz","fileCount":83,"integrity":"sha512-4MPpZPlDnjICPcAr7s1F3LdjiXNMlpVsBa+kKbSMNN7T9XDb7j38nOwy+k3ELWOvWAOQaV2dHD5sJwVq6U5/0g==","signatures":[{"sig":"MEUCIHJUkQ8RaWgmkhrFDw3TONBwciIDSFggKFctiLSmjiMuAiEAlWVDMwxOPbIsghkq0qibz2r9IKCSWLV0qVJru9N0TdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":336116},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"3ef6dbf1d1b0c8ffc485d224d30b15cb6d8555c9","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.8.0_1771787983772_0.34481061111574607","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"keryx","version":"0.8.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","cli","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.8.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5731604b1346e05cf1da1b9ebb384478c5ad0547","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.8.1.tgz","fileCount":83,"integrity":"sha512-JkTsylUxQCKkK/mOqiKFE5o0MYAHbDSEwmspMtSlI/YpXGYBQsnBaLmDqWKbs42EVX9jUxNhvmlBje4BrwEoYA==","signatures":[{"sig":"MEQCIBOGMypsHc/TOYnwDX37dlzw5M0LTU6igjuKQFY9Pof6AiA+5XVdJDnJFusUb6AAn4G7fa+cBRc5MEQeppJELCujdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":336546},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ece523e6aa0aa85188fa56c4eab10c13f7a54e6b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"Keryx - the messenger of the gods. The greatest framework for building realtime AI, CLI, and web applications, and other applications too!","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.8.1_1771788417070_0.40209494939680956","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"keryx","version":"0.9.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.9.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"634dd929afcd0362e17bd1864db74855f91febf3","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.9.0.tgz","fileCount":85,"integrity":"sha512-9AAlcG1R8yml1QwmwfQF39++CX1M7Rkxl4lzt874UElLJDgzNmQ6djZgiDRrmXemvVTWn9T8AzyiOv/iVmZe8Q==","signatures":[{"sig":"MEUCIQCpxbpfghVdKkd3GKnI4CTTbPBCzAmL+oYvEfm6PlqxtgIgZ3amy2hDiL4fpSDDY+ZMjfwSelktc3W1JU3V/K8hREg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":344640},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"56b42068105b4098590aeac95dfde4a61b4138a9","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.9.0_1771911215572_0.49044115694280976","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"keryx","version":"0.10.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"77e8e9bb6bfb9ae8f1e82525d388b556dfddabeb","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.0.tgz","fileCount":85,"integrity":"sha512-BYkIeb11I1vkXnfMUiwGAFEGs5XNLfqXrchE8fqTW3jb4mUXugnceIlFsEgpaptyqR17pA03cc8GDrZ86T8KSQ==","signatures":[{"sig":"MEQCIFDYr5rdUYltbCVnxIDz//Xd+JfxztXCXsCVF88ULEKLAiAn3s9MoTLR1X888HJqxkCkG1vKvlOKsEahyoeSej18pQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":344440},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"e46180fbc1871181cddd462b1d95090e21278cf6","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","commander":"^12.1.0","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.0_1771912736336_0.20781871559615261","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"keryx","version":"0.10.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2631cbd73e5f88ca39e14ee331f32184232bcd5b","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.1.tgz","fileCount":85,"integrity":"sha512-53PWKCZR0NuwmXZjz7JGvgQB/AzOo7dkZJcmn+hj01gjgfV1PLDwhA8S+wRTxvLH6LiqjN+IlSBDqjPS9PnBAw==","signatures":[{"sig":"MEQCIEOg/9Z5hrvpXRTunHaU5VQmer1+JVsVVJ8Ez4N7RoTHAiBsedsbFjZTnrAIL8COkHEEKHlpJiEex1Odca1Y8yUYSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":344520},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ae10297a912f37ed58bfa89d6c018a8d3a94b5fc","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.1_1771914869567_0.26956752054831523","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"keryx","version":"0.10.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"45130a8b855e2c689c67faa3e429940d3092a2c0","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.2.tgz","fileCount":85,"integrity":"sha512-4vvae0Dl6PASOcA3S4U/tyqZ+vl6kMF3pGNcRtK9uGmvXW8q+oCrwAY5XUcKJDqMh5DLX4uBlDOLl6TqHyqXnw==","signatures":[{"sig":"MEUCIH4F5BXleezQr/6dRF3HzmoO00DbpSmvAGB0KSC6NE4GAiEApcvJvNZRhJJrGuT6UQo55EcFemT3EIYUZaOCj8iBCRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":344608},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1c1a2c5604d6bc2445616a32c32bd972df402da7","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.10.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.2_1771917092504_0.5175297384106534","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"keryx","version":"0.10.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"f7586bf42cba02133d9b25f7663bf97f0df61faa","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.3.tgz","fileCount":85,"integrity":"sha512-q+XbYg3xyCzRPJ1DSSId7VtuRKS+4AkBU/jWOx7E3WZiAB100somYB+IwVDJB9f28T90e1kUmmqD4PpC8rL6xg==","signatures":[{"sig":"MEUCIDA8JQsR+W/kBPIfzVKYFlj9LoAv/fNzurBegTVYNT6tAiEAtyV/qahINUNkYk9g99k36VmEQ1SCV129CaRvFdrGwyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345146},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"30f8f042cad4a96c8b480f1dbe714e5b9254f0f3","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.3_1772153185801_0.234709552700882","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"keryx","version":"0.10.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"15a96b3d6f7107d7aa7ee54b5ad7a486105fa44d","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.4.tgz","fileCount":85,"integrity":"sha512-A33w0u/yRHeTN8+fBZWkUc0N4rrP0QzC6PLPq0Mrs8YZUm4Y0gob82JXWgtWHvT0oTVuV9LvnwWrD48vx3XuUQ==","signatures":[{"sig":"MEUCIAl9s+yMs63UhtbFjGFPGUOp5CX4ZmXCZlHcbBWs+18IAiEA/CKrlHxUYOUnnyWeOjJr+SoTlLEySYUpLp+EfRDzWYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345326},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"493af0c1e3bcec0e2f7da481f66bbe5fc72052c8","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.4_1772260197753_0.35415842319765667","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"keryx","version":"0.10.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"1777cb833f4f9759c536aefe0a07d2d6563db3e6","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.5.tgz","fileCount":85,"integrity":"sha512-DMXTpSMegfboaR9i2A01dfsj5gjO5ocCmopbriZuoxubU1Qqifdx6sd/d/FNPgPDNVdgV5JKHw2Lg2U5MymKUQ==","signatures":[{"sig":"MEYCIQC8bMmbsPp2RY7m+mKjREDHD1hbzBjW775JTR/8EXfE6AIhAJoCSeDo8V0pduAnsoL678ofy1hs5gU4CmGA/g66hPcJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345326},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"80112aa1651a91eb5d57cbb80bdd4b517e7cd285","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.5_1772262301931_0.0366090053367949","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"keryx","version":"0.10.6","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.6","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"6228a3baed15e55130b01ca19b17c9d3a3a19d69","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.6.tgz","fileCount":85,"integrity":"sha512-vVYzLbnawRPtXSGeSl8RITQPrHVMZs7XO1iS4qbI06e8aXUnwn3xaA93bzzFht3YDPUwRCU2r8rdSHpdLXfDHQ==","signatures":[{"sig":"MEQCIEgk1wvRTSBloV4mzhP70yv/Wfy2BTdk75wkLs74WNGLAiAZ6IQCkUjAw268MwuF8QHufqK5XxzRpvWZddliwssbVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346126},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"a41a056856f76a67b2cca9c0ee7b7d5e90558db3","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.6_1772305598984_0.5912647526341552","host":"s3://npm-registry-packages-npm-production"}},"0.10.7":{"name":"keryx","version":"0.10.7","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.10.7","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c3a376c744be1d793e86c94a912668b1f2fa4c51","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.10.7.tgz","fileCount":85,"integrity":"sha512-h91LWiVOYMXayfgduX/aQNEZDCt1QDMhdEcD0T58xXMDjcWHXQrRCcmCJg5lkNf95kzTQ37y+A/dQecZa3jLNw==","signatures":[{"sig":"MEQCIFZXE4cR3ibUml4NFSp6N8sCbod22gGUdSjWej1oFQo7AiBH1yOEZUtOcd564kmPNuUCIZfGoSHEygT0VloWZ9njgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.10.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346625},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"be2297bf4a113d0d84b98f109e54ac4379c60a2a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.10.7_1772308429880_0.24318277020984747","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"keryx","version":"0.11.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"17565363ecf4eccc879fdea4a2f181e04d0c8297","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.0.tgz","fileCount":85,"integrity":"sha512-HRw+nnEeitLWW3nskVQeXTwdHPFQmy/N8s1isY9ukMaX1woxklMObPIhm3WmnJK8ZpFG2K/oMhkSWfKGJf5sEw==","signatures":[{"sig":"MEUCIQDu8HI9EQgz+NUW0M0Fc3ykNp/ltYgsKXF0j0Gsx47L2wIgNguwk8z7lYbZnNsCchPe8UjTGz+JHLKkN22kDrDaRbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346255},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"a4af37711c9b61486d040ca7a35ebbeed90fe78d","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.0_1772318122606_0.8764232400153738","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"keryx","version":"0.11.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"403490ed5aa8dac5de73b63341502fa507254afd","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.1.tgz","fileCount":85,"integrity":"sha512-f3k09RGbVjvp+FkqBOv1M/zfmkmD3ux2S4TOEWJoKwF1HrKO+HoPvcYs+SCrAFttn4Kd1vLvT1Rj8fqGxF1iig==","signatures":[{"sig":"MEQCICBurJLVC+GhcfSGZxnr6hqVl1b6eHIQHE3hztgmljMoAiASIWcRaO218PHjJUqAHMhO8BiApIGT/hvK9tNGe7EMdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":347032},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"62d4aa65065111fe6e17b3848fd0c635dc7849e0","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.1_1772386005398_0.27936174861414087","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"keryx","version":"0.11.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c147f12d38b7a6cfc420371b85e7f439ae40d1ac","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.2.tgz","fileCount":85,"integrity":"sha512-UIhXnvSvcQmyYiBqckz3MVJLcTjQUW690PlOYoqe1cC8jIEaYtFIFjXIX0+G0lrCPHcgM9Sp4tgb+NMI54mozg==","signatures":[{"sig":"MEYCIQDmSMU05C0qzmV5JJ+15LG7Y/B1j55fIMP0WomZOssW8wIhAKaOeoYlnXFSFTCnGMjRAKH2XkQBA6o95oi6f0aAa17h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":347047},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"b00d9f45bf0fae5fb2136481a3731f3b8f839ec9","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.2_1772386403247_0.9573334743037436","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"keryx","version":"0.11.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"e2fe183caf2385e7db6addc3b7f8bb7378ecb383","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.3.tgz","fileCount":85,"integrity":"sha512-zU9HBIcFKQAh38M59EkIgabymSqaYyCEbIVaYTja6Fq3tCuAkhNbVO5WdjX0q5ULiu48iUSIalJUOL/DgdCSJQ==","signatures":[{"sig":"MEQCIEDmwj8Gm8BIPg5eas4WotHu5d8DtKiDVT1jNMsv7RyVAiATJ8AI7o2O+g03M6/Br4cyoWY2bMG6IZRXOHkx32byjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":347609},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"432e69ee4be6654850a64d31898a5bf848f3af4c","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.3_1772387454577_0.852393641780252","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"keryx","version":"0.11.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"aae956bfd807a5e3a7520a71bdf547693a7d3c44","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.4.tgz","fileCount":86,"integrity":"sha512-+yNFvxB4brqbPtfVN95BN0Z2RF1SMT1GFeCFUVzZcq8be2jrbr9+ZFxkO27Lq7mJZK9qA9EOoWP/FobDtJNjhw==","signatures":[{"sig":"MEQCIG7fVOOKWlQPq8XQPhHFQvWoWhXtk9+0x+0jh8pmV9mvAiA/fTzPBUHAeoViRe4Bib2EFfKV/PbxMlfAh9zV98AkLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":357038},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"aa7d41c6803a06ea3b6ed72001613a88e7e730ba","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.4_1772392483945_0.5696343010683023","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"keryx","version":"0.11.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"821135c3d1cdd7678563b847e9de5c6e060cc6a9","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.5.tgz","fileCount":86,"integrity":"sha512-elVyvk810gxvS2og7yMVN8mpEtiwv1xSyjSmfngckVCZ2aZiuB12cAg1OCvOy5+FkCSnUe8JOBRi0Pp26w7vlg==","signatures":[{"sig":"MEQCIGk4q1zL/W4HjCvjhl7hxEfsKUEkkSgWdTm7joJPprY5AiAgU7o6RlemVoIc0LQnL8HxQVDMp0ZkqWyvP88cD0cWpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":357038},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"384448a76f880953a2f696d9b6628cef3e888d5e","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.5_1772393273948_0.3178256448769825","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"keryx","version":"0.11.6","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.11.6","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"7b8690b14a91420511bf9fdc3a4042bdeb470394","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.11.6.tgz","fileCount":86,"integrity":"sha512-vbEGZqcZLzwV1ZCS/2WmWrJqyvM7xKNfJYe11bW9jRN3X32aED/kReGJEWKNkPmHmSrI1a7zUYxifBDAD+uBTA==","signatures":[{"sig":"MEUCIQDaoQgZ9G1i9KrrMAo4GU10CUi/bFyqPExdMqEAGzea2wIgdAW0iELn5muEL4xGdqCSsP4Uyy4mlWkOTCLeEbnGZTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.11.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":357171},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d5dac0b009d1c86a8a3b9a15ddb58349ce5d7855","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.11.6_1772396668879_0.043813163454842874","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"keryx","version":"0.12.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.12.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"98b323894ef02d3b0915fca2c3f50ea06dbe5125","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.12.0.tgz","fileCount":86,"integrity":"sha512-F2y70A6XqI/QYjtgIIke6fA31N9nMAjfdvMgEHbnopsvc7zpIByo/qVVSobdB6HSMjov9xnuve73nUvd1mEW9w==","signatures":[{"sig":"MEUCIDWy2g2GVdzNDFfL6gQCxhBU052RoHqOudaxQk+6imD+AiEA8MaTlf7K7nQnQzC210kwXuK2rnmQKL03XBpSUAP6Ox0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":356692},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"e35cf95a5843d98c0e5a61d21dc9ec45c39446f3","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.12.0_1772430856877_0.6572097122147997","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"keryx","version":"0.12.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.12.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5814aa9c07ed8a26f7779f07fa0499bbd0ce747c","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.12.1.tgz","fileCount":86,"integrity":"sha512-zSWnJNH3mdG0NKK+qD4WIB2xWUd9nyI9oRnPnymAD18mSnNZz9V/KZhYTtw48oB7dzliDfWzsg1unlvOoZqMKA==","signatures":[{"sig":"MEUCIQDjGtZbG7dgMzP1Ahcx+ImnlWAbaHGN6gVdxfu+OLAQBwIga18rPPjf+guQSzsyQE0TSiK+5h/Zjif+HnSpVBHfmnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":358644},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"024e291854b146cd38f385eb9e8fcdf17d6071db","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.12.1_1772434194855_0.44150931606854193","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"keryx","version":"0.12.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.12.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"72c3dbc98c34a3a89e39de85a2101c4d9ba98555","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.12.2.tgz","fileCount":92,"integrity":"sha512-2dGmnHdkYFTkoKVSrJCKT2TaOApahuWYS47HwayGDJaY07HChh2PpE9XkPHujIU8lZzvv5uZ4Hn4H6O5Xt0CGw==","signatures":[{"sig":"MEYCIQC1IPIyRYAoKegjZZD8VskP8PGI7ofo+ue0yIP8KqsL9gIhAKBJRmYl21bbOh6EF0cMet6IYW9nWSJfxEJWDBa1obs2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":368348},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"e03950cb2173a1f3c9111ab75344952d7649dd81","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.12.2_1772503042853_0.7290706181169253","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"keryx","version":"0.12.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.12.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"77dd4c5d46f9c2f768d0be7f41dbf5aa31ec149f","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.12.3.tgz","fileCount":92,"integrity":"sha512-g1QO0mU6OAajxXwZwEFKSspBjPPifCTR/JopOhL59zt3eN7OfnsTUlBrD/2kk7oyAiY77cgPt+Izl7GsZEtYtQ==","signatures":[{"sig":"MEUCIFv/oaK14mn8TIElVCa6EqcRbKSny2ZX+MtgQVVSI+qpAiEAwMrlL0VFrLcVT2oTIRaZwCTP0w6VJSH6jo+xqxl0USE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.12.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":368968},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"278453e83f1935be334384da7331a815e1a02cac","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.12.3_1772598237766_0.05484771372500452","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"keryx","version":"0.12.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.12.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2ec8833e3c3d8f693ce7a7deded19186b35b73f1","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.12.4.tgz","fileCount":92,"integrity":"sha512-PJRGTQpulV/npJzjm4tBzZiViXZYfVw0XNb+ndIMKvnYx5Uy/Izlne5TGaoajW7gIF6ye1HrHZftjfIMX8PxQg==","signatures":[{"sig":"MEUCIDXdSiK+tRsT/dzF/jM//fPEtY6u7mtes0XwXHnijhe2AiEAvd2zlciislLLiu61LUjtt8pAx1CKXt8PFFcYrNc8lGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.12.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":369108},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"4f4fb9f07da58f3962757f3c93b47ed33e87d647","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.12.4_1772689808999_0.7856646266548639","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"keryx","version":"0.13.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.13.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"52fba2c0cce17573683a48cd2fb2508bbf7ac056","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.13.0.tgz","fileCount":92,"integrity":"sha512-Xwrh5Mg+Kt1ASxrxoEIsqhsuow1BMrvrviVAIt4G15PvOPfqiXJyAd/mSTHri6d8K/HZcUsSXRA6SJPizRnkEg==","signatures":[{"sig":"MEUCIGmgft87HTHs3vlU25yIB4sbPEy8UUBiksBaYxia8EB2AiEAsU7QYKlp0mctW5uiGXEv0p903aZeAjbdpCqdHvtLL7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":369172},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"0a5ae36af8c4ffb28084770b3a56c2879bb617fa","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.13.0_1772694260093_0.8140670740274221","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"keryx","version":"0.13.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.13.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"3edb26eeeef833b66f12bb341b9281c3aa4a1962","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.13.1.tgz","fileCount":92,"integrity":"sha512-m8qukIYZsMGRDfBVUHmpJvQ4eaYxYQOwortF+6eOUlYbpdTXhvLZOg4nfra9IpRSsWwq+fVfwAGeUrGejLSlXQ==","signatures":[{"sig":"MEQCIF+8zrrK3kIF46usPhRhK0eCJszMep/2CNZa+EZmWfGMAiAbrJKR+imi0n+QXPcF/1OeWeDG+FuG+EH8qfdAXotPlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":369261},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"505e5d36451fb492dc3bf3833732d507b29ce8e2","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.13.1_1772727572215_0.12458397875619731","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"keryx","version":"0.14.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.14.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c471babbc9e49149cf28ff72341a1f927fb32fa1","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.14.0.tgz","fileCount":92,"integrity":"sha512-jvZUaHE3wRHdFgxhUDl+GtBuTbbaZTxFmlHnjP8GQEIOfvmEiLgm/ZoQFE7XA0b/VVYqxaJTXUx2rlnBJcoQQQ==","signatures":[{"sig":"MEYCIQCnQhhzQdRY64oXmWjeu2RtJHXC+ajGIPFqlKAynoFY6gIhAOsZ6quzn/TYif8SLiSZ5hMutxUnvdO+lchcnJoPT8Wd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":375017},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"8f916192100faa1934909845b8f63651a8fcd6d1","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.14.0_1772759941137_0.40165682900459165","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"keryx","version":"0.14.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.14.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"7913c8aeb470f001c4f5f4d6a87e21b6a2c207fe","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.14.1.tgz","fileCount":92,"integrity":"sha512-HTeKigeIQTiAFLbp4TnYhUrzj5eqOd6toOIUTzbgPDE+1kCxpq7Sel8mG1nzQCoiWRF8ylTew73QeFJKQJEBsw==","signatures":[{"sig":"MEQCIGtYKmONWOHUMLeXrcbsEV12iKun3YE2VTuVvkbu9q4+AiBlf9/8gbM0QyOU73KqZqjKWsCyAdBUuLrf7aOgg7Z6ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374749},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"bc56097b3d05f69544408cdb60ffc87da1e14fac","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.14.1_1773017799785_0.3225048265208186","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"keryx","version":"0.14.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.14.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d994ba535a7442b90b6df7d9ea36b7d0ea36c638","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.14.2.tgz","fileCount":92,"integrity":"sha512-IMJiT35BxcNQ3gRjqY1A6lIp3aBifyreXwz2WPBYzCxs5K1O/HZQZ4dZrvPUyvMoeM6sNc0O8oDe2ADQX7mr3w==","signatures":[{"sig":"MEUCIA/jqm3YLBFRhJZMC+9Utq/TyGnEKrJGij77Q3jFMIXUAiEAvKV8I4rgDLq85vO0JfER7ZXsGNFweJRIjAhe6EG/km4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374831},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"77a1e6565ff839c2f981adfdb45fedd066a1464d","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.14.2_1773018105652_0.7792459269879539","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"keryx","version":"0.14.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.14.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/evantahler/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"65306dd1d3524eed1d0269a25723db978131b9ad","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.14.3.tgz","fileCount":92,"integrity":"sha512-KKJ/8JUeL4Z6RvdVbZVYjPADYMjYUjE2WKLKIH46Mve7MrboVKG062NcLfQ7luSinuJpGrYYCwoj07eIV/t7eg==","signatures":[{"sig":"MEUCICvvPDnq5+2Fh/Ee0gZKn0NSAVygxuqlxADmBqPm1rUTAiEAqrnbBeL6TgLVgwWYJVN3eu/ox8PSSfdJuGYR6gSG7b8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.14.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":375183},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ddfedbfc1f091ab85ce86d1ed2d3424eddd302ea","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2749129-11ab-4aee-9e72-5f6fb0afd85d"}},"repository":{"url":"git+https://github.com/evantahler/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.14.3_1773018595364_0.2228408685501797","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"keryx","version":"0.15.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.15.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"cf0bee5efd989421bd0f8023d41761535bdc1a66","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.15.0.tgz","fileCount":92,"integrity":"sha512-iCbbC0nivCoxFaCcx5ka3ItQmWW6pEgKwtN+o2MzAD/6zktdnGff/eKPYwcqb2KoaOpngpJ67AJuON87XW/7QQ==","signatures":[{"sig":"MEUCIQCoZSEw/9m7ZI+jeVYv/Zp2/Tz12V2rJ+lZDjtoVggQjAIgbabUyaR8Qm/Rbs27gGi6QkEnXbGWEr0ffUUIzuM+BnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":375183},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"48bbf3f6c69bf319e25bb8c3855c88925b3dcbff","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.15.0_1773112317840_0.7051825423851881","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"keryx","version":"0.15.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.15.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"355b9f024d42faefd8b163a1341bb2cd5d48254d","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.15.1.tgz","fileCount":93,"integrity":"sha512-27IwHjTdSZSLI0lpRS2Nv1ew/8UBjMqFWfhZHyygXhd3ffEwZivOMkdB5IbhbVFYFaDWroL2o07V9g6uAtbpRQ==","signatures":[{"sig":"MEYCIQD1b0BbI5C5Fsw7f6yDAckeMBKlpDqTWya/GrCSKhaFVAIhAJ3ukVDcuDboUEDVWZ/eYT5AzoU5wb5IfID01vfCjlOa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376209},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"fd9c1f75a15ee861a4771b4e1b95ea99ed2ce5fe","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.15.1_1773115623552_0.08819980050272447","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"keryx","version":"0.15.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.15.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"aa27c1691887c82213645ba23bcc8103ee8b3a66","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.15.2.tgz","fileCount":93,"integrity":"sha512-mGURdhch2TPHK7ko3pB3M0m051ht92cGW+lual0LeiT/E59/ksSRXki2S2YJsM8foJKQg2yGwe9hiqZ+ZKj6AQ==","signatures":[{"sig":"MEUCICC95dXXRBpsOyFSotBuNVVI8v31khH+iKxclljldWxdAiEA93pB/Vn+L4DyyR4VYM1Vl+cQ/vfsCCdOAaoBE4EYvS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376472},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5acccf098ca06e94d1827a321a6411f14a752cbe","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.15.2_1773241469622_0.46127948706576505","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"keryx","version":"0.15.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.15.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"b74cd931b3c90a2dc7107bcddda888722c48bc39","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.15.3.tgz","fileCount":93,"integrity":"sha512-g6vG2OsttKBYCBxS+gmZg0+nRJwrzOkRP6xl3At8hms1zk/zu+8wAyZbbG1lL1itd4XC1VmIBnH/IGCymntVoA==","signatures":[{"sig":"MEUCIQCg02T1jvoRLHuKnXbHFQZ333OiAahLrHZH457BE6QfcQIgLq1fzQjmdgcH9vUGzbqHMGFp1sFok22CHiCvEsxA8GQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376472},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"b028abb5136cc749c5c8528cade09806824ae1be","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.15.3_1773345628478_0.7124779284801364","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"keryx","version":"0.15.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.15.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"07fbbaf5a623b57ce2030360b230994b9b2baae9","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.15.4.tgz","fileCount":93,"integrity":"sha512-uHbPr4fPp5vxjv8mplgAcTH1aNq9Wiki1AA5euI580lOSXZad5AM0a6WcMBX2YiAF01wwfJR3QKwju2LQ/Zgxg==","signatures":[{"sig":"MEUCIE53AA2H9QdwEvleBdxFb+rGRaBGAcEaDIP1mYQq10acAiEA0dY7KHfIpn8ISBIIIHXmgRn72IBAK40bG5gb5n7q5CM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.15.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376468},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"3378cae41a13c1214fddf7168011aaab5c932ea3","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.11.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.15.4_1773625211328_0.9476177946220707","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"keryx","version":"0.16.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.16.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"ccae9d2da26a45c999836c9b8c14ebfe19e5c0d7","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.16.0.tgz","fileCount":94,"integrity":"sha512-+8v2mIOzKUfy0W3QLlQP11bki8qX8cpjc+Y6YDhUFHxcYEgkZchJwfFeADlc7I2DHakEFsX10h4L5G/o4K/KGg==","signatures":[{"sig":"MEQCIAG8prryzS8QPpdaFw/h1Qk5vJu75hGYQKqu3Ddw1X5SAiBwMa8egiZ0x4P1sH3W4xORGZ3lwk7pO8767f+0J6EO3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":382087},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5cf114cc4cc4938fcb66055029b949d9055dbaa1","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.16.0_1774154244904_0.918480026797492","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"keryx","version":"0.16.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.16.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"4b62e6e7459cb14952919d3287441459309f4ac9","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.16.1.tgz","fileCount":94,"integrity":"sha512-QZAHoXXCLKA2JDYSdiH8kc2uFR6Dw2VWxWMe21oiRMTLOyz2P8puRCjPenq9bgw1a3ythc+q5KhL32sV3RymFw==","signatures":[{"sig":"MEQCIHK+njA0p6nSqHcCT0a3i3ZMIcCVNWT4Fo8SQBR9m72RAiB3E6VMBa/ESPM+GTKwvASovmn3gqdMgiPUlxBIUGfB3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":382087},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"e4c343b03e0929e49946e1fea58cd7e665f38283","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.16.1_1774156660677_0.4266174027336882","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"keryx","version":"0.16.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.16.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"f1c77cfa5e9ff56c4b8b4b82cf825a590fcddc80","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.16.2.tgz","fileCount":94,"integrity":"sha512-stUcqXM3jutST86HWSSqwd5muomWHjWA21B/AoMH8xiaObYOqYXFFJZUfAAl6uc3hdNbb/nFsCItaHJIPTV6vg==","signatures":[{"sig":"MEUCIDZdV576GE20RPO53S1636bB9etQWAUVeOgRsYCJMxf+AiEAsbO8H30LSGTQcKlTSnv5ZtMTfki9n7vdPLtJpAkA5TQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":382075},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"47c40c8432011e65328868ef00c7b5281de31b14","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && prettier --check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && prettier --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6","prettier-plugin-organize-imports":"^4.3.0","@trivago/prettier-plugin-sort-imports":"^5.2.2"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.16.2_1774158268156_0.7948573326653037","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"keryx","version":"0.16.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.16.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8fbfd9b26384c0752eb1e3229f9e6b3cb7e6e222","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.16.3.tgz","fileCount":94,"integrity":"sha512-AG3CEDMxJ3jByiYwrBvBUr6+z0CjBNGADy5wcLcKFfxEDeU5KznvmFpMGdetF3wf+KND+2jjydt7szafl0V3DQ==","signatures":[{"sig":"MEUCIQDs77onUG03919M8Jmm0yLb336MoTEKn1ppH3uZTghTfQIgMtOHmz9Cil2J8EhkE/tSVlAZYUgZ1LOpte4HKy+XtCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.16.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":382618},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"c8bfcb0a1ecf99779fad1bcd63480d85bc31c237","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.16.3_1774158770450_0.7657719006011885","host":"s3://npm-registry-packages-npm-production"}},"0.16.4":{"name":"keryx","version":"0.16.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.16.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"4a999efa8ed6802f77430d74623cdbcd286fa807","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.16.4.tgz","fileCount":94,"integrity":"sha512-NlL4AXflGqo/k+v1giz81TrsXGtm9HEyMo1xPcpEGbgqIdk1RgcjgqpaMYBrO+gvfwBOjI5ZWaaz+FuZIJmQog==","signatures":[{"sig":"MEUCIQDJkHcuimIc5zluv2ET8tcZAPrcVVbN68HOhsckCpO5tgIgRe+mQx/QLsDzAuw63+hI2Yrk8rNWcH8nqIPqFPHdKi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.16.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":382620},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"659196f7a14da7239f2709552f3522a8a4e7fd3a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.16.4_1774159212111_0.8037978253011577","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"keryx","version":"0.17.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.17.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"67838522d880992216c5af3376658ff0d9d6e6f1","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.17.0.tgz","fileCount":95,"integrity":"sha512-bpu4T7InwK6UzNpZmo4Rr5KkqeD09GqObqMo34UJDM9jITnXxFZmn2v692gdNSZ6d6VfrJdR+nfMRZgH7BhbYQ==","signatures":[{"sig":"MEUCICr03BoHNLSS5fAnQufkgDgXFCQ7rp1HopulU2Qo92YiAiEAm4vs+7tRYyjpdsrv3LeK/qvh6f03nLxnn4dXEf+3bz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":392501},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"04896e27bce63e3ab679fe24a9d887bbea78dff9","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.17.0_1774160417855_0.14620667018895106","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"keryx","version":"0.17.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.17.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"28b839b261a774b6720b0486fa2ff07af185e1e7","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.17.1.tgz","fileCount":95,"integrity":"sha512-Bb0tPTdO+68BMDiERwBOYO2ZhiWWKzHsjpluCIa+3/lZa4gdVvG5+fDJzNhYz4mnXJPDh04cHybO6x1nzX5aKA==","signatures":[{"sig":"MEUCIAwovr7mVx5UJEIHA2HY699NOX8okoV6YlCklHNyucP5AiEA0dw2JlXU/drpPdjFCxAPhfAAX9fLB1t+XgbC7ImOqM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":392501},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ddc1c89724225668c50832b00d70cd35e51a1bb7","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.17.1_1774202208817_0.3945046515874062","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"keryx","version":"0.18.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.18.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0c5936027adc1ad91e3314efe2f5e99b5ea14073","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.18.0.tgz","fileCount":97,"integrity":"sha512-k0NVVRpa3Q+S7W6xeNs6icjIJ8c1CC4x2oyFmITcHaTkDsoUWzgqANBul+04bi081VatF8oanq8ei4+BvRZVzA==","signatures":[{"sig":"MEYCIQDESADnrIUoL4RZocEWGSLivQwUD7Al46OdKzaNoBWObQIhAMMNnpnkrpuzqySSSNaF/quKGEC1ckDW26HBbSXyEO9+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":400381},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"43a02e5b310dda04179abf5381bb5934c553db1d","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.18.0_1774202600755_0.6892593851274216","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"keryx","version":"0.19.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.19.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"09494b063bd9aee1e268823bcedabc4813b06bc9","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.19.0.tgz","fileCount":98,"integrity":"sha512-utgELGf1RgeuiNBB3YPNGbhmugBxHH0tSq8ychQAbd6rx+miDaZauj5AhDECuXCXhqAUmS658qklVeQ2dS8tgA==","signatures":[{"sig":"MEQCIGB3qAhGtTmBn3HbDT+Qs3Z8ZZ4u4Jm6m/RHbHBqNAnmAiAQ5FK43susDD9lODfYKQYVHN0enxGbfM98qG7UbBjd4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":403112},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"8d9d991e405a8e05b9d601cf35129287e1bf3f3a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.19.0_1774206441020_0.7449998571413696","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"keryx","version":"0.19.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.19.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0c110b852277ac4d3a9d7829d1cfc5131b861641","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.19.1.tgz","fileCount":98,"integrity":"sha512-/ZnRyCpkZ70y/bUlRlakxfUyC3VsVMCbM22pSblb7JlIWpNpF91444akWrQzGtwn1T2bWMxCbuBxOuUmAeOEUA==","signatures":[{"sig":"MEQCIBp/wO2gbOrqV6FbaqvF6zh7Tb81hf5S7exIDfLltpuhAiAdse9rl7l0i07BCzBvlC/zcCJc49Ex2XzrLrdSDkA/MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":403112},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"68f956ba5790998a31388a6c5fd54be3e7e9ae3c","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.19.1_1774206557245_0.5123828764775562","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"keryx","version":"0.19.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.19.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"878b42a5bdc3070d1d5eab10ccaa9f8066e919d4","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.19.2.tgz","fileCount":98,"integrity":"sha512-eKzC8zekLrYPnX0EdEeEU1f3KTYqDg1/ivra+ppczBI1E82zUor3HrfLsoItYFeqTS34tV87nirh/Bo6yTOPOA==","signatures":[{"sig":"MEUCIESX+qF3pHIqUdNumaGNIXhHouctGAvRqrzes1M3Y+ZIAiEA77IDZVOKbX2G5FbjYRkP44PRRX4b/JTi3GFmYqKbaUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":404454},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"2f2fb101e03c5f9ed748ef38eb9c7dbb8788f6d2","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.19.2_1774223706246_0.36175390361053883","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"keryx","version":"0.20.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"fd47a70dc9c60a97073fa36ca73c63f98f2040be","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.0.tgz","fileCount":100,"integrity":"sha512-QmvN2RVF0WPF5lx8ZGhHSZbhfOvlCJ60NGJiUuwNpwVepX2omHyMy8WOOHnuKXyPflZnga9PApObEuSsPd+XGA==","signatures":[{"sig":"MEQCIAH80jrdxT/i3K/okdUVAom2GI4A2SYd8aKQR18KcgkRAiBzYX03BOK1Pjte59FGablvVOdoZefeeTUzLd20A7bILg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414573},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"7928d226790822d3719d94fcdd44560d90f4f5af","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.0_1774229727180_0.07877600511030947","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"keryx","version":"0.20.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"9124a70bd70ac2a17cb5ca3a45d517961526ed05","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.1.tgz","fileCount":101,"integrity":"sha512-nzjjCRF1yrRv86/XFTgh2tdcnbNE78mw+dtDxb6Jgp2F8xk/7y8Vk8T3T+xbjhB8WxEbYt5SnDh2QutYdIvAPg==","signatures":[{"sig":"MEUCIEC8OR+Ku0WaIwh9vHswhcy5nJXQtu8K0GIb0kkUttEjAiEAuEnhlqaUHbY9kMevj0ptFG+ZnT8xwS2K2vdprl5BG6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414997},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"68216ea233b9aa10c51cc286058c2960ba45ae7a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.1_1774231692561_0.23653523030014023","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"keryx","version":"0.20.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"08c0d9094de23f606032e679b889daf4177abf4b","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.2.tgz","fileCount":102,"integrity":"sha512-eo7SgyBre/Z8xRU0zqZxc4hgv18VouMHicN2hJ/fVVj86PXXcaNFDXFU0u96QVbzfR96owWkUm5kpMnKIoR9Wg==","signatures":[{"sig":"MEQCIAWGB68mULVay1/SV0FocDasvtnNBxO/Xo5Pwly9XjOHAiAzaYMrnglYg94IgMbmmhrCEmhViReLIgvlYIB7+TR1Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414713},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d14e43124f03564006865e4bbf1fca79deb227b1","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.2_1774500521483_0.28127223204629415","host":"s3://npm-registry-packages-npm-production"}},"0.20.3":{"name":"keryx","version":"0.20.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","oauth2","tool-calling","llm","fullstack","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"20957091b9fb720bc82fdfbe694934f57872732a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.3.tgz","fileCount":102,"integrity":"sha512-jP0XVWuRj8cQdsEIei9Co382eB06Y/iO//3dVLU18Yrl1AloEtxM/5h1rB1P4v1TApg4DR6mXzFru/50RQKsnQ==","signatures":[{"sig":"MEQCIEnqWT7MbI62qLzl18zzYZt1tHNWjdJG9rZDBQjE3EdhAiB5sfQ6gloiAAlEJMQOAXi1rm82Q+zKr04Q7q9UX9UDrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414827},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1c18e41d553e46ad6e77bc1c29cf92f1fde89eb1","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.3_1775072464271_0.12094044921018088","host":"s3://npm-registry-packages-npm-production"}},"0.20.4":{"name":"keryx","version":"0.20.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"b1ed673b451b1ced49061f8fd73dc0e117187ce0","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.4.tgz","fileCount":102,"integrity":"sha512-hvOFiECFxyk3rZ2+xhL0n8a2DjrI2ZAURqb32Kclz2VryqqGaX8wO3alzwGpHwVPoGZ6w80XEyZh3raP2EnhmA==","signatures":[{"sig":"MEUCIQDCS0WoYwHeSRtIuNBffMFQglG8KJ6hlU6x/Lwh5SK8LwIgcqDGT+/+2S7cX42m0pkU9egoCAe4YfpPf1fm2wjk22E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414910},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1d57586f18f3b568bd87dad563b4d5a6840dfdae","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.4_1775092161542_0.20937091619935133","host":"s3://npm-registry-packages-npm-production"}},"0.20.5":{"name":"keryx","version":"0.20.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"1ed4bdf4ffa561eebc371f8da66e4678b6a5dccc","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.5.tgz","fileCount":103,"integrity":"sha512-UbPiOYgxonDXuJv+C7luXs3KlrXNhppCFJ6Nvvn/B5DuuYsb9+2Crj+J1sbMaQT4nzkEprzhb/xRE8uD7cg5hg==","signatures":[{"sig":"MEQCIDxsf9kvZYW+2abb9VptETeXksggFkWIqGI3CsK/rhcsAiA85KCsyYNkNMRS/4WsgVcV7AkRIjku6vYLOeGXq0EwWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":415529},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ea1f5a0dc0f68b339b9ee03cc4b491448c97052a","mcpName":"io.github.actionhero/keryx","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.5_1775187923749_0.08226581273551936","host":"s3://npm-registry-packages-npm-production"}},"0.20.6":{"name":"keryx","version":"0.20.6","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.6","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"a6a97a73b7975ff4e7618f967a459cccf9ad6c7f","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.6.tgz","fileCount":103,"integrity":"sha512-sQoSzQ4oLDzXNEOygsa2HglTJHZ7IXhJHtpnPvSdN6H47zcB878OE+qQrBsLC4513rLd0BRcpzV8Hhuf5noRYg==","signatures":[{"sig":"MEQCIAguLKHjFJxxTeEUsNUcj+b43hfta4oLv5CBXQuobcABAiAv9RTNnq/BnFizNKgy6QngCYslMEpbkz2bzQB+Wfo1xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":415529},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"97c678893dd6bbb0e830e3ed6c3131f1274dbd31","mcpName":"io.github.actionhero/keryx","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.6_1775188702580_0.26296602772357547","host":"s3://npm-registry-packages-npm-production"}},"0.20.7":{"name":"keryx","version":"0.20.7","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.7","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"db92fdba82867593ef69a61690035a70b379708c","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.7.tgz","fileCount":103,"integrity":"sha512-jDIKPZFHSaRSxz5yKbSBmkkUtoTVs+UZ0sdpuuRKnjW62wURTwhqZS1wabK8SSV8vwRwddNVYTf7i3jiCmCp7g==","signatures":[{"sig":"MEUCIQCNwDUVQjz0mA7lw4CImEckt4i9bYOh/3HFBqjfNMiJ1AIgaU0et+livuGWYt4Wdwgn5x/dX0co4Kdm2zYRxfZH7Y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":415529},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"fb08bcede69785138ae019f07a1b01e01b064400","mcpName":"io.github.actionhero/keryx","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.7_1775189139704_0.10345554413537861","host":"s3://npm-registry-packages-npm-production"}},"0.20.8":{"name":"keryx","version":"0.20.8","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.8","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"677d751580fa8668b44ae95c53e462d6cc2cea4e","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.8.tgz","fileCount":103,"integrity":"sha512-bC4PPGOaEqd2NOF2VGsshl3haD1BLJaQyMdQkFT/lUnzuxQurtwGOEuc5kQzJrzZc9DWbU8YdNosZT0ZKfB/sg==","signatures":[{"sig":"MEYCIQDEs9/O95/Kw22NNCdNADT+msBl0U8QnHK2qdlDi3tapQIhALIj1SV9IL81JYZymrDfKePKTaCr5PadcLrMwrPZD1LG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":415488},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"043f7a6607cfd3791fd1f17e1f1b44b7ded7ab7e","mcpName":"io.github.actionhero/keryx","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.8_1775189391032_0.38457070976145324","host":"s3://npm-registry-packages-npm-production"}},"0.20.9":{"name":"keryx","version":"0.20.9","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.20.9","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c037a3aff55abf1d3aa15f8aea1de88cd3c62eae","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.20.9.tgz","fileCount":102,"integrity":"sha512-T9EwJk7bhQpKUhsRWDd2k2xCLbjl/LtEuu4xtCXq+KknYD5oDCYyi/Te0wtTutSU7y/9Uun0awgT5U6fqXH0XA==","signatures":[{"sig":"MEUCIDBRPwVQyaR38sElOS+PNpZN6G+/6zT4vabhW1DB+ef1AiEAipPKRwW2u7vxpAWLG0QvFpgdF79Aachs57enjvV65/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.20.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414901},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d38de18f7fcd6dbb0febb1a7c322a81dc2100a62","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.20.9_1775189801543_0.6313002105318077","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"keryx","version":"0.21.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"857359aec4bda148a079244c0f76240172a793ee","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.1.tgz","fileCount":103,"integrity":"sha512-qXz3WfDnbtPClMrI6YKtvmeahexIFkvkiVbhl+XVsM1fpp1ImZiSydv+yyZREGUNycXHJ+6lCRxL9y8K/yilTw==","signatures":[{"sig":"MEUCIBtJDX8MOP/RGHvGf6rd4DWBe5puOA+Jb3qF5EIh9zlZAiEAyQbdPO6CudgAOBctZSPhWCnJ+aNAVnYpENnmcY0t0Hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418641},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"9b14dd3a7b7eb85c04c64367b4ab63d829a080f8","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.1_1775254959802_0.03317192097023902","host":"s3://npm-registry-packages-npm-production"}},"0.21.2":{"name":"keryx","version":"0.21.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"eda11c13bb2d050bb6dfaabda9140bd3555cd489","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.2.tgz","fileCount":103,"integrity":"sha512-FPwPYFoXkBJrbhxkRk6nkU/BaDy64l2OW+641PDq5IE1aQPsKIMA9BYziLuFEYLHqS+6DOBYPZHrcEqa4huJWw==","signatures":[{"sig":"MEQCIC9IoRDFArAUFtJEwei+49TwR9TH51d/FRotJ05V+H/XAiA8WKbdTYlLQt9KGf/ROcTO/iBEiUHJ43aYrFTkdj+iWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418739},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"b2ac2b8e4701a6be7b890dc35a6045f936e7d441","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.8","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.2_1775256289369_0.5830512245892563","host":"s3://npm-registry-packages-npm-production"}},"0.21.3":{"name":"keryx","version":"0.21.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5361b7dda528b221761113fddeb09cf1c8fb9246","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.3.tgz","fileCount":103,"integrity":"sha512-PJ4gG716c5GJqoGzklKdd52LAQ2NVT8dSZGb864boZYVZoMLZm7jCicfNx8jCUdYut/t6niiHd36uMCsRe7xEQ==","signatures":[{"sig":"MEQCIAt5D2Bbpiab4uIuLrvL5uDxknCQO6mZuG9rVG+T4fcVAiBN95IEHI22zaLXWRAyuEJbceqfKlpNRz3+Oft+QKE0rQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418740},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"559d068a4236de8d9525787cab3c37bc939a2713","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.3_1775845325820_0.24820955182373927","host":"s3://npm-registry-packages-npm-production"}},"0.21.4":{"name":"keryx","version":"0.21.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"e1166ccebb639d4bfdd8c4556ee5f3ebe2c2c07e","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.4.tgz","fileCount":103,"integrity":"sha512-0THqjveT/QjbuacqfCW+zd9sUdgkui4Nl3qmpjneGAuAiWM62dn5eHnMkTQ2DPok2fhXw2S4mZtZvld1HBLz4Q==","signatures":[{"sig":"MEYCIQDG4yZEUotNn/rk3yd9o2o9XOxeTCRtLtN5u4d95nfG/QIhAMRDOQAoLSUW/NnhXxZe6/Ca5L3dxCpvJERHOa64QE2F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418740},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"4d9c00f2d6e03a3950c1b90b31fc25956a90c489","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.18.0","colors":"^1.4.0","cookie":"^0.6.0","ioredis":"^5.9.2","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.16.0","commander":"^12.1.0","typescript":"^5.9.3","node-resque":"^9.5.0","@types/cookie":"^0.6.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.26.0","@opentelemetry/sdk-metrics":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.9","drizzle-zod":"^0.8.3","@types/formidable":"^3.4.6"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.4_1775847934660_0.4644260411719068","host":"s3://npm-registry-packages-npm-production"}},"0.21.5":{"name":"keryx","version":"0.21.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"dac8d375dfb19443355828a1bdef79774d930eac","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.5.tgz","fileCount":103,"integrity":"sha512-E0PAbHmVONpSsKeSkBFtYWKayeBHI3oYSAGykSEkwodUHlMRpOad8JzZA7N4wpR2tWYZisCai5yxSMiFwdovvQ==","signatures":[{"sig":"MEUCIE6kD8xp1Rbv2LwE+4/IDsou8JmJJy2rw0551qcNvitBAiEAtV/TFp3UNsKlT+guA372e1lv3cfW8nFp2ngET3Np5tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418666},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"58ec61dbb6e336c6259af85a16253e2bfdc60ee9","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","colors":"^1.4.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3","@types/formidable":"^3.5.1"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.5_1775855207598_0.8168616166478013","host":"s3://npm-registry-packages-npm-production"}},"0.21.6":{"name":"keryx","version":"0.21.6","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.6","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5353cb846d509de5eb45ab0858d2ea62e8cc6b51","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.6.tgz","fileCount":104,"integrity":"sha512-iiYPW8zrCcTvdiiy3ObmqWmpcqH4toipZlVlPvkdma2YVZpJUAsY6/Vhh/Gy8ebJxBG+tXrIELUyQdutBovyDQ==","signatures":[{"sig":"MEQCID65i3zbpqVrSG3ChgwDtFDyiGKpU2dh3nZpv/+P/DzcAiBugrERugB+It0wKxMJrJGpLlht1GiTvvBPavalctTv0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":419188},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d892aa8ca834e7c74dd5577b55e709aec9ae0450","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.6_1775856574734_0.509730149205553","host":"s3://npm-registry-packages-npm-production"}},"0.21.7":{"name":"keryx","version":"0.21.7","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.7","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"71b5d82a2d397cb1d58dd0a8ab64a240830c5de6","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.7.tgz","fileCount":104,"integrity":"sha512-ygObleedmBHGkLMlJCkONjjAcvYscnw8b/Wqw7BQDQhjNBpj/u4k5ryvmWVCnHqokllIXgCK/+eFzcI+BWOcAA==","signatures":[{"sig":"MEUCICrReKDds4aMOlsm8u+4BKruE+NI+sS4pEm4uxiOR+YCAiEA4UJWdZK4tQSSgaNSOXI4OUY+hSO0DCb+TUI9kO2D7Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421112},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"2908cdf5f04198c7cff662f34e6673440c4454d4","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.7_1776641789243_0.13246767702836304","host":"s3://npm-registry-packages-npm-production"}},"0.21.9":{"name":"keryx","version":"0.21.9","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.21.9","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"59236190c3b0d81fe22581d3d7c882debf9f7d57","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.21.9.tgz","fileCount":106,"integrity":"sha512-HqSfE+x9zlOheN9O3kDh5WD9FtKRhmXbaIkMTHY6eiiJTQPcFHjZCDOf0cDyM9YjDZbuXM/SkQYpUiPGbzsfEQ==","signatures":[{"sig":"MEUCIFR5rVL3xhkPonIVJoZBy8qCaQuzfVYCz2gAZumYAuITAiEA/nTbIdGW4roP/FBqFo6goNOr33uXC5UVYBbeFWGHNWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.21.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":430893},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d3b8d9bdfe593587ec6767d9985787143468df1b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.21.9_1776643182275_0.2735602571381499","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"keryx","version":"0.22.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.22.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"4456f02f06c00d45a1043b7054f3ca6e201cd4c3","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.22.0.tgz","fileCount":106,"integrity":"sha512-N+OGPfDF96fIDOmafYxgyY1yBaKRXH7/5cYvreUkZxtJht/JWdtj8MCNC4CVUWkz74gchr7XtQjc57F9kPxDMg==","signatures":[{"sig":"MEUCIHvtouQqa2YAHIkpVyDkPomOhDlESXDYjme6UjM/ekR3AiEAvJxKDJDlnHt0QhKANhPICwhskT3nZwzBSP6MkXEkvvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431458},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"347b7c0cf9a52804c1d6dc5f801d14e9bf9275d6","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.22.0_1776643393731_0.8325348935556502","host":"s3://npm-registry-packages-npm-production"}},"0.22.1":{"name":"keryx","version":"0.22.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.22.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d4ececa0f24609f1730a19ca322d3a9ba38424f6","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.22.1.tgz","fileCount":107,"integrity":"sha512-wpUx/RUU4/1dm8vogy5HFWdQV16grNdEzpTCk0OohXshvTFBtzqo/zrVNhrATl9MYKB8kuo1cCt2HPForEnBdw==","signatures":[{"sig":"MEUCIQCwK91YT++4gnNDZyJS4574E9UgRtSY5elkVOGeyPNKsgIgPaiCrbUBoPdSml14U7AJZd0b5+30DZV6j/jzUXO/DjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":436459},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ce5ed81df18bd6c0fd2bdc94027b3579d9620859","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.22.1_1776643813695_0.9375776207072886","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"keryx","version":"0.23.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.23.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5cd22399ff7b8c909bfde8dc20d78de1ae9dbe09","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.23.0.tgz","fileCount":116,"integrity":"sha512-0WCsx6ImUlucyn81WrLis8kZQQIKuMP2Z+9sWIat+Jsr5dCptYuccxCVRh7j8Vigf8aVpkI4WQGg01W0n/d1IQ==","signatures":[{"sig":"MEYCIQD5P98KwsgYxRSv2AKU4veR6I4ZDpJLTn/BHW4vvc5bnwIhAN/TElVmhVn8Kz7lSw6YoW9cxNPAplnfW1mvGHIi4oiu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445576},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"09b45bb8920202d140bd496bf55908c797bf482b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.23.0_1776754607084_0.11353273338699021","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"keryx","version":"0.23.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.23.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2180dd0cc8ec90830b24b4dbe936ef946280794a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.23.1.tgz","fileCount":116,"integrity":"sha512-VdmIWUSLv5Mba10uWJ2r87HXU6IxIthuSwt3kAYlI7+/LeMwZaFI9tndc7OqdXSgeDMd3Axr5FWDSJNwAIZWag==","signatures":[{"sig":"MEQCIEeWGtFoVQngPb0teF8KRiDKAreR3GYoxAJvGv/1xq3WAiBjQqJWrJ5CHqL+cDUVFhH2E614C70j/oYDNw7Aw2DRRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445576},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1ad31392f28ba7700a97c7b9ac6eaa93b425d273","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.23.1_1776755174060_0.7038051288394416","host":"s3://npm-registry-packages-npm-production"}},"0.23.2":{"name":"keryx","version":"0.23.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.23.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0468f62d82edb0e9ff10decf8f47f25b8d3fbd13","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.23.2.tgz","fileCount":116,"integrity":"sha512-JR3auHrz/AEZPLQTLXRuXW/etfB4oqAtniHMh/zmdT4M+aVZi08nJ9bXE5V5ryiV8miD3CqwrON/O/YDcO4inw==","signatures":[{"sig":"MEYCIQCHIgqq6LD+6pW1BRLGWn5apcQyY2E1YCr2hLYy4qS/GwIhAPJwJ1cWM0VQtljr1t19h92AHimIkEftesuqGYYSnn7O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.23.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446558},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"71b545e4a5580ed95499273a51e059239ab8e214","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.23.2_1776756560343_0.31500055233247615","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"keryx","version":"0.24.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.24.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"5d99191f359f0c264d536f6dfc2473cc32e90153","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.24.0.tgz","fileCount":117,"integrity":"sha512-kLZdUeA2OCdRHviLgt0FMwwb2c5mZ8X+SHxBG5U1rcJiyOx9rvXkG+Co+snq/ko+sVvAFZr3i/o6QWgmkjOCIg==","signatures":[{"sig":"MEUCIQCEPX8qCDax8albkEuCUDRys6mc3xsFBi2Mow3F0SGuCgIgdSGi711NXvr08VZS7+aGrLWEZ0m5jzd0KWlXFNE3HUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451620},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"f587334a03427ff305c6f8ca99ba392c5e221a70","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.24.0_1776756747109_0.9799749861985607","host":"s3://npm-registry-packages-npm-production"}},"0.24.1":{"name":"keryx","version":"0.24.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.24.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"378142819d715efd15df687aa38edb594b3d211e","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.24.1.tgz","fileCount":117,"integrity":"sha512-RkyK5haiWbvf6Q4l6dqVpC8MfzBFNOy/vPwuifkIDl6+FUf6exHBhBRnW90doPJymwjuRliiiU3RBU0dfp5Q4A==","signatures":[{"sig":"MEUCIQDaVUBPVBW5kr3cPYvtOO7QX84WAyPYMzhlhqRLjM4eGAIgJItleQ6Xpow7+08oTNtSHNoH7MjT8U1M/AZk8cf3Pc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451738},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"7f4b881fc06a7d6dcbf4e29880eda01f1d3c0789","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.24.1_1776762847105_0.1031063712207898","host":"s3://npm-registry-packages-npm-production"}},"0.24.2":{"name":"keryx","version":"0.24.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.24.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"59ab8c950bb512415715f985f3969314bf587445","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.24.2.tgz","fileCount":117,"integrity":"sha512-9oqTms/S6G3/o9dUqvPCSkSb1gcflEA6mieX9wwB2+6+HvZ5l37NCpmeJ1Iv9JgTE1JN5sbdW7iX2UYMm36IhA==","signatures":[{"sig":"MEUCIGrwvb/BW0/6LbxcAjtArXMnPHWq6K4eOH65hMM5CsjdAiEAgovooCq9G+Pjlamer1mNxAsSB1OcDiM3sA0ywPgi+Zc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.24.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451906},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1f09fac78129221b28c5eff5623b085d2c1ded9c","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.24.2_1776763057385_0.41981633854769096","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"keryx","version":"0.25.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.25.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"7cc1d0f7aee08337f5aa8d030011c4c2781bef93","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.25.0.tgz","fileCount":117,"integrity":"sha512-IImDs+DficEjZxi7tgKEsjfL+mfM6UuKBKrGaBdBf1z9fBhs1IylY5Zlb1Et3T6NF+v7Eqox23ZtBB9xEYZWlQ==","signatures":[{"sig":"MEQCIF54ReI5ulsCAt+VIfRjVIvo+4n/JwTvbfGIM6QB8XDgAiALazGh9c7/mITipYPDOxoj0/TbRwbenAnmu1yvKR9Ntg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452155},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"39e7ea20fae0969fe502ac552a36b91bfbb25026","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.25.0_1776763295626_0.7798249819309631","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"keryx","version":"0.25.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.25.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"e828a9cdc808844bdec8f8a71fb2b41c287687b3","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.25.1.tgz","fileCount":117,"integrity":"sha512-U50LnCcPVV4LiWQu7Hg0YAOaS5B9AwDAFtZKfMqVv6K557kKfuh6qdBR7NW5QVeyKFCEM1HVrtzGO0vLANDGOQ==","signatures":[{"sig":"MEYCIQDfgKJcVOv/NSca2nNj+ajD+fhHwDMK+80iLXqtB58WTgIhAKe/Dti26snpTRZMhawGCEKTWrmBg/zDBXq5C7lnOI8h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.25.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452155},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"672ccfff39d323e5251d779655eb197e19a5579d","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.25.1_1776800113111_0.020151672251628172","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"keryx","version":"0.25.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.25.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"9c5e419c791d5574347c4d11b37aa49641c5d163","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.25.2.tgz","fileCount":118,"integrity":"sha512-q0LbASQ0KSqaOLpZ1wloNkAN2bhfRotHcC8NR3ks/HRpnISeYI1PGOyDmx6Ok4yulzgB1tMIbFBgVCriWlLIbA==","signatures":[{"sig":"MEQCIGzwv+Su8ro9JkN2YAIlNFZ5nYrerdJ7lsiXGI9+mh3OAiAxbckWjn6NFmSulndxnl786YY9wxyYi+92ThrVlWwFUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.25.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452849},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"f8d7d63563755051d639337ba75e9eea11673711","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.25.2_1776829468185_0.689616397514665","host":"s3://npm-registry-packages-npm-production"}},"0.25.3":{"name":"keryx","version":"0.25.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.25.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"26f01bb3aa7f5aaa8506e510bca03396bf9f37d8","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.25.3.tgz","fileCount":118,"integrity":"sha512-dNrYeOfPP3mdis4JnxPSyjWRpgVpLeIVtB3GaF1EPyQ+MkLPLiP1MFOAyzo5zmPaqyVNKBeYGxNi5B2cqKeGAA==","signatures":[{"sig":"MEUCIExwa0BYnr/uJ9LmuShr7KdY+y8ienEwPvgbUWWTD6EjAiEAnD+jcTrp51PTK4yVFgMe1QtryX9ReuZJwVY47NKqpPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.25.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452714},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d49a821f26541b7bf0a193cd1a9f121e56870bba","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^27.0.2","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.2","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.11","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.25.3_1776840658448_0.5088916257996359","host":"s3://npm-registry-packages-npm-production"}},"0.25.4":{"name":"keryx","version":"0.25.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.25.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0d5be479105e785d5044d73086a91368f376de9a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.25.4.tgz","fileCount":118,"integrity":"sha512-hnxUjgJH6VJ/OiufT/Oo6rhJmtz3NNdRH437IPu2ESUuzCD3oKWHUvtMNGBM8leb7hEazXuooTBIxpJ385mBQw==","signatures":[{"sig":"MEYCIQC5FemY67yxGhPYZbdSO+PQcJ4SQvacWtYE8oOIluyErAIhAP3k2lccylRmUvqtFfekTX7bnnb29+ssX/Bl0OLLPGoE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.25.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452714},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"a9dc24db6eb17aefd3d6654e6ce5b2bed76a6102","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.0","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.25.4_1776842254087_0.40879076398863723","host":"s3://npm-registry-packages-npm-production"}},"0.25.5":{"name":"keryx","version":"0.25.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.25.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"9deb2abec66041731172b7b22947e38b7d3909f0","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.25.5.tgz","fileCount":118,"integrity":"sha512-lxNcyQn8KGjkpoFOPwgd4D1s/eTRYdcyfmKBruOGjGjoJl0M1K5ZxkkZ7EvCRa3rCCoZfGlQMVZQf7SqtfkdPg==","signatures":[{"sig":"MEYCIQDvXKRe9a3GxC8vegStVnmvEUEMrSflDEYbAiRGwGEf1wIhAKKi7f+slxfp8VgdNPHJdGC3cN6tut5K9veh3U/SGMvq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.25.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452714},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"6414371df0b22d433ac05eaca681ba2869ffec3a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.12.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.25.5_1776843677363_0.2398930371288599","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"keryx","version":"0.26.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.26.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"89fde2d5feae818c6af25d3f1d688bfce1c2351a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.26.0.tgz","fileCount":119,"integrity":"sha512-GggFt2Ruk/pp0BwZlXIRByDUr+0iK72WAQPxEy8lXHwgoSmZuceZHjja9iuoGViLvy2h070oGtvwTbi1/YdKgQ==","signatures":[{"sig":"MEYCIQCJDTeNudW7RJoULtKbuUJvPf3uY/fz6mVkscNIaLOi4AIhAM9Zp5PuJSwpKzkCaW4WjNwKPx7ZMiQCwweVPHEKkgq0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466023},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"9d2d4d3e7e2f6057f4f37c0e220ece1ef4757e84","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.26.0_1776993326259_0.14028448502896484","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"keryx","version":"0.29.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d22559de38932695188fb2b7e536551cfa5477ce","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.0.tgz","fileCount":119,"integrity":"sha512-6vPrwJynQiOjwqjprGPVp4/EWsWn4yhUXIqRfCqBBu4x6t0xrKoYSRPJlVLeN2uDD2JEkj2qeBPyj3EfhVXUnA==","signatures":[{"sig":"MEQCIHcN5y4GKFYd3WYVnLpnUBWE4ILW+EJ99dbhhg/so1T8AiBiW2FnLp9wNSGN5UAkDVV0HslGy9eTg72k5zir6xg3sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474726},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"308a9cfe06ee248ed71110d4e933925346e46002","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.0_1777027437615_0.09434765011339641","host":"s3://npm-registry-packages-npm-production"}},"0.29.1":{"name":"keryx","version":"0.29.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"9c8ed6b54297a40f70582928342c474a7dae20eb","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.1.tgz","fileCount":119,"integrity":"sha512-rfqmvhd/Wgxri3eFowfYEIU1nmGxTqEqV/C4C1CYnsujVWK8xNs16cznRxvWFnvvfy/ozCXf8KiX+BjZNlyXMg==","signatures":[{"sig":"MEYCIQCVeMEKbiQ9LwrecsSnGFDvFz51jj8uMxAdlYInQxcW+AIhALUTwJnuEC3+gSIZtxNM9H+QqBg0wdpB12hFv4d1cpm1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475487},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5750b4b615bf4011c9c08a7bd29d7857daacf243","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.1_1777034114803_0.8723137627038031","host":"s3://npm-registry-packages-npm-production"}},"0.29.4":{"name":"keryx","version":"0.29.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"623392588a131fa314d694091906cfbf58251635","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.4.tgz","fileCount":119,"integrity":"sha512-G/nF4gk5T6ONjAvYDrLUC7ylspAareLePHq0kjkd/E2QhG1bZZ8ldQqboCdU0PCzXjiJv7scmZ2t8SIWY2K+wg==","signatures":[{"sig":"MEUCIQDQTEoA9ZbGsJghQdp2GVqdzRrM6pZYwPnLpYV2+VOeFgIgaS+ZKv084Qjw9oJ7CrIcrB3XkkfPQd9yDhuoZjSzDwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475797},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"7b94293606fccf18e665b988f74d910454cc186b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.4_1777043297561_0.3861991432395089","host":"s3://npm-registry-packages-npm-production"}},"0.29.5":{"name":"keryx","version":"0.29.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"f82d3fc1bab845bf87bc58b87f8b178d1aa16177","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.5.tgz","fileCount":119,"integrity":"sha512-G6HlKktI+BMvIVsboceLjg6jilPrXNXDJmQopRJpkAj17w64DVrqB9IJ8oV7l4i5BikLKIxBd6KSMIwJhiOTUQ==","signatures":[{"sig":"MEQCIBuXvQbR0fpNWOxvKTUZWJPoYzm4tiHwZ8bJH6e/K2OzAiAPocxEElqT1WJiknjNhJOy9Dm5gZChVFNu892hmzpicA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475797},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"bcb7039837f7b1c4f422fca60e8ea23e1d8dcbbf","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.5_1777370303902_0.7010100814484623","host":"s3://npm-registry-packages-npm-production"}},"0.29.6":{"name":"keryx","version":"0.29.6","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.6","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"9c4626d95abc8d12478003dbb42f21b4254080ea","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.6.tgz","fileCount":119,"integrity":"sha512-BaX4leWSMymK+X8TXLJvv7yHMBqvj623IC3+P659ZacVoRPlMTQ53UGpECxxBLWsF1grR91eKGlO6ZX0c1SIfw==","signatures":[{"sig":"MEUCIC0IeoDLSgmtfYbovPOqYAPD0dt39JdaZz588Sec4oKUAiEAsF/WjosRPmUlHFFB4ixGFmbllTVqxGM1uvVNcFlcC+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":482614},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"571866260ad7eb089d95879bfc4e00a0765d92aa","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.6_1777371351189_0.19704539893302164","host":"s3://npm-registry-packages-npm-production"}},"0.29.7":{"name":"keryx","version":"0.29.7","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.7","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2ef6b47f5fd56a5068b67ede88c4ede5c9bdfc77","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.7.tgz","fileCount":119,"integrity":"sha512-UxLcrIdJXJ0JoGIqak6SrzfOD5+jB8SOJC7OegQ//wb0hBV+ivP9rgn2oNeJgMNZZEH/cIK8c7SmQdeQLuMu0w==","signatures":[{"sig":"MEYCIQD7J1GoQRnfu+3qJkOACdCDJ6wsUPuipoRLgPVrAHUp/wIhAIvUrAzROqrMKGOox28ok55SKnY5ArscCjfAH6W/PSm7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":482836},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"12bca393e77cc7a76099b9ea0e4cf318a2c79779","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.7_1777371747360_0.8960526265018969","host":"s3://npm-registry-packages-npm-production"}},"0.29.8":{"name":"keryx","version":"0.29.8","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.8","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"a123bb0543286656513159f64dffb426a53d6845","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.8.tgz","fileCount":119,"integrity":"sha512-G0FJGQjm8DmCpq3Pky7vrwY6+Bf3JFwT1czEO+O3g6eZQlDssQ6uj31XPWvgWRf7nN0BN5U1frgA6YZ8WxEgyg==","signatures":[{"sig":"MEQCIFIBMplu61RF0S3coHpFw5skERA63cHGP3QMBprcaQQxAiArUxVPFxTKedTi+5v9zPi6F76pt8e6FF/NqjwELyELVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":483875},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"12a80f26f5532ae349a36089f19a3da5ddd36803","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.8_1777372297978_0.7869019466775518","host":"s3://npm-registry-packages-npm-production"}},"0.29.9":{"name":"keryx","version":"0.29.9","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.9","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"55207cc8ffd8eb977fbfcc2128858b16b1822471","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.9.tgz","fileCount":119,"integrity":"sha512-Ds99l7fpn7lvbTjLiL68PXBZ22QSaoMd6CS2lMm6QNLTJPJavE9s6Lmy/uEQFWjccjRCSzbeIffJtu8C7gtJfg==","signatures":[{"sig":"MEQCIFTiAwkdWfhzNBZcn22cYFj04cckUWOFTV7l0vCOCi7rAiBVbclegaYGD/tVRcssegT2OKyHsEtaq/HTU2qLbfKS8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":483872},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1afd0e435cdc0730e089f7579fbe56c1c6dd502b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.9_1777437947658_0.7703576584302523","host":"s3://npm-registry-packages-npm-production"}},"0.29.10":{"name":"keryx","version":"0.29.10","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.10","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d5835c4c773805a51a505c75d7be04b16e083314","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.10.tgz","fileCount":120,"integrity":"sha512-oQqtrVaQ4jKZ8XSOIl3E8VMK5wkv7b+OJUGeUJC6uU2uEE+hMzgaoFh9LmFdJLw1m9oiFFMzC8E2Xg1zSJdi/g==","signatures":[{"sig":"MEQCIAs3bJp2OVKAjkzdiULUoWjRl969XAS7WdzJtM57KcRVAiBw8+pEhptS54+7InFspdbnpqm+WrnQMMlaWXHUxHQClw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486745},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"b09ff887bf56637c11df4359964123b75d69c18d","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.10_1777439481866_0.594144000492961","host":"s3://npm-registry-packages-npm-production"}},"0.29.11":{"name":"keryx","version":"0.29.11","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.29.11","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"939f4897798f02a1b177bf215ae45af6242a9064","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.29.11.tgz","fileCount":120,"integrity":"sha512-NBaS+8zEvkCgYlMPRonJtA24yQ89evaT+G+rt3YvHlT+usZ7eUE1EiCfc8vPFUX0dH7ZLyMgK50ZwC9cyl1nGg==","signatures":[{"sig":"MEQCIEqrsna6j1iBjica17kgJqo4KOQXa19ABbxM6VV8FcFDAiAU70m9G6iQs9ogdTekPvQhW5GN2Vy70SkwXq/paQwgBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.29.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486578},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"9772684f3dbc72d79c52e0e6bfff271f7dadda55","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.29.11_1777449629388_0.059323365148687524","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"keryx","version":"0.30.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.30.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c9df6c16f40265345f68556e5920e6a22c38fa43","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.30.0.tgz","fileCount":122,"integrity":"sha512-+zc4ZHkoRalMrk6/41+lnRWWcUh02ZAMYNXz6+PdGOBJPYT795SwelSlZUlo1hzr85ITi9XkAENY1/mNu5Eu+g==","signatures":[{"sig":"MEYCIQDfDg+qdVXruRClDdSmE41pY8KXA2ksiWmbnPrGogXGEwIhAMkrXWVFUDN1wFPUaT1tJv5Xw8BkHhdwKolzYgfIeyu0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":489289},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"1389afc3891bcf1602d87deff028222c7ab3c1bc","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.13.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.30.0_1777495223203_0.8468043665447569","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"keryx","version":"0.31.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.31.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"11de5218704971cd52907ec473ae063b345aac48","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.31.0.tgz","fileCount":123,"integrity":"sha512-BGoXx41sw1yGLNBJsf1fsCqnaGelSIK5+kR52W2THc+KE62oZpmJf62CdJpxDsaI8Np205/6tYPxQydo9goChg==","signatures":[{"sig":"MEQCIGSNDtW0KgKyDWUmxmfchiC4ysy5z+/zv4NP05bw38+VAiBev6WHmaECaXUWP7OggndROgY/obA/jEfFJJsf6UIp9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490286},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"b90e6abd08ba6a244c9266d63fd41fe8f7202b17","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bunx --bun vitest run","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.17.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","vitest":"^4.1.9","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"peerDependenciesMeta":{"vitest":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.31.0_1781677065072_0.399268242272776","host":"s3://npm-registry-packages-npm-production"}},"0.31.1":{"name":"keryx","version":"0.31.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.31.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"b434b4747aeb95fe33eb649e64f2cd3b6a65cbcb","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.31.1.tgz","fileCount":123,"integrity":"sha512-AXco9gGM1y2Er178H+RLcC2fnqUOuGoFwFI4MS5B3RJJ7nHK77gOq5KCR9TIU7640lMVZvCQZboMXQZRX/Y+lA==","signatures":[{"sig":"MEUCICXb5bgcoBmPlwd8VdIeY8z1sNI3v4YIiqRYEE++3QTvAiEAlN8hKo+0HXgX2aT6UxuAXR//G7SuDLFPyTuFmt0er74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.31.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490286},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"399d95fb290ea945befe7d799b65ebf17c31eccb","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bunx --bun vitest run","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.17.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","vitest":"^4.1.9","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"peerDependenciesMeta":{"vitest":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.31.1_1781754982278_0.9578244724566298","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"keryx","version":"0.32.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.32.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"a7462fa122b2ebe4e926efa3ed454d7e4eeb0baa","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.32.0.tgz","fileCount":122,"integrity":"sha512-bSGiU4H3bY74/6kIiadcO4Ku23JRDFMUSzT2vtFBD+LNkd/IOVk4kfb/qyf1jQEn5yXFfNwBZZ+cJhVSYqRfjw==","signatures":[{"sig":"MEQCIFtnA1uJLrwVJ2bpbR79W/8M4BIUzK456ufSxyD4Hio3AiATdJRjJdwuao28FNSWFGrNkuWMCKtNcm619U1/YZEDWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.32.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":489289},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"6317f52379d77c7b8fe348b0564d886b931f5d55","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"11.17.0","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.32.0_1781761466955_0.6431586235057754","host":"s3://npm-registry-packages-npm-production"}},"0.34.1":{"name":"keryx","version":"0.34.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.34.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0c6eeaad2279da15c042d090c698fa810ea8301c","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.34.1.tgz","fileCount":123,"integrity":"sha512-/wJ1FVUoVfzGUIZfq9XpkXyyNb3lduqn3AEfIW7Zk+d2uHm8L7DVjtvXwtXBOEBqjP7zGbUNEPoPvYSTG+ZEPg==","signatures":[{"sig":"MEUCIHexUzhwAiZix6n2lCVOspVdaV9OjVoogsd+LQpNW+iuAiEAzIhiAe7idZqL6rvs8lJ3gKAjAcjBBaHfFXdKHUzeyNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.34.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500206},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"d97d74f2a35dfc463189680535dff2f8aba60d45","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.34.1_1784132904965_0.9764507622314176","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"keryx","version":"0.35.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.35.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8c6235287fbc13348834df2cc07222302af369e1","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.35.0.tgz","fileCount":123,"integrity":"sha512-GIji01YCofssokg3ZrsnBa7eBcbYW52wXnrGtaMDZrx4C80Uh9wLmXLM8ko0SW9y0jiNLJZuJ69l5PhQ1uaRZA==","signatures":[{"sig":"MEYCIQDvc/89RJgk7IaL8XNCTuJxXaCuoknxbw3dnNTQIyV2DwIhAKa5XoTxEvTJro1CVnDO6sUME6BKtzFpCBrcelqRXBdw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.35.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":502657},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"a69a51ded4d617694c68c777e8fde0a314689c97","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.35.0_1784154926033_0.4897021368839054","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"keryx","version":"0.35.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.35.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"bd8703ca8d61ebc008e740b695c3b00bd108533f","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.35.1.tgz","fileCount":123,"integrity":"sha512-sKoyDbjYFIv3Oj5hrYt9JsH3sjZLJ+Fj/fJxY2GInyJyh8WFIYT23zGMsyrFez6OQH/d3t1PNVtPhznFRfkT5w==","signatures":[{"sig":"MEQCIBACxWZxflBwQnjC+e5E952QqGS6hn9E2YG6QFW00V+RAiBkrBasgA2Ir71M2PFrdyzxO6RvZBbf5x0zInF0M8Q8fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.35.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":503539},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"62cde03d5e7dcde0b3349419e624da631fe0ad0a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.35.1_1784156113601_0.005158005702250668","host":"s3://npm-registry-packages-npm-production"}},"0.35.2":{"name":"keryx","version":"0.35.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.35.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"77628133942a62e1a0fd3b3f41b89696d5836604","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.35.2.tgz","fileCount":122,"integrity":"sha512-zMS0Y4d7me8jPzrU1h9I53VDx+rJ02e+M5eJ8EAmKgZyx0ctebcCyJc5wQG020FBYsCVaP51tR8eGqfcDT3p8g==","signatures":[{"sig":"MEUCIQC0boEAon0n3VCgqC9leVyvh0b+5wHPcReh6oN/Zw6lVQIgJoxscwTBeZogjqnlQ905MzhInJnoTaBv6t2wIHt6OAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.35.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":502092},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5f9337f93dd7e1f424b5ff8a10167356e6f4469e","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.35.2_1784174119505_0.4067304957870659","host":"s3://npm-registry-packages-npm-production"}},"0.35.3":{"name":"keryx","version":"0.35.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.35.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"4513b39287bcff0b36f879c4af0974276cbfa0e0","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.35.3.tgz","fileCount":122,"integrity":"sha512-83c8Xx9IZNCuKWbnTkF587LZm0VbK51n/Qi9o1FKOJgj0lado++eX2qhECOtdziHtd3S20hYXs02aTwW1Euz6w==","signatures":[{"sig":"MEYCIQCOnJZOzX3520dcyT+oHEf5lx/ZaxEctr1ouvf7Ji4cBwIhAOgAMFP3AiNJUAAU5RxHlNTd3Tdx9uZlzg6VXH7dyzsW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.35.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":503168},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"945ecaa47a613394b788229271abc6d787213555","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.35.3_1784175170636_0.11168143724793644","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"keryx","version":"0.36.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.36.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"19e5b343704ddeca6853dee87c80a7d510c75ff4","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.36.0.tgz","fileCount":122,"integrity":"sha512-TmM6UaJdbkOCgqqhOIB4IbktklItQgonlWD9EWzMNj+wfm/VP0ZvZOKI6KbZJCs7udhTVKDs83H7T/nTpbuXTg==","signatures":[{"sig":"MEUCIQDzIOCXllv0D+ZznZnWQIrib0DNv9VLrSOG45GtpZZrWwIgN6pHye6/FRLseMrPXRHF24qVIxj65WxXwogIkbst4wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.36.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514850},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"04afec4c96d269c106aa3fde42b5cd8e33e39885","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.36.0_1784180292244_0.5205828290341099","host":"s3://npm-registry-packages-npm-production"}},"0.36.1":{"name":"keryx","version":"0.36.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.36.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"744f4aa646908ef67653e48c77f2cc0b44215bc8","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.36.1.tgz","fileCount":122,"integrity":"sha512-OXl4fogblQvLSQsoFR6Yb9+kZAlxKTdRWrLm74w4dkLS9EjwXaLG1hLm3/WSJUwu+7goq1c8v0DaLgNZXQQ5QQ==","signatures":[{"sig":"MEYCIQCmDKScESksgSY7B2CrgYfN76b58d9cO77gAuG+X9jHZgIhAN81LQINBtdy0t9iaIyTSNWCS8v355NBUwTPg9Fin3O7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.36.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515209},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5761a78addc015463a6e8ebc87cae0cf6867371b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.36.1_1784180677171_0.5947308835547671","host":"s3://npm-registry-packages-npm-production"}},"0.36.2":{"name":"keryx","version":"0.36.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.36.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"4a81b0de472080ca4c4fc5f79c92baa84841c710","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.36.2.tgz","fileCount":122,"integrity":"sha512-oxNbUIfN8Y0a4+WBmjCcLr0Vd7Nsd1BnjsNO1enJIoft8Ozxobd6Pol3iPIOwYaWTyzg1vZzIOwbWV3RvUv0Kg==","signatures":[{"sig":"MEQCIDeCsvh1NXW7Z5kf5YT6akBJTKspobbI//LUkSAiAL+UAiBPheB8AT3qgqaPTbCdqeSTTYjw6wBybdk+5PhVA4mk4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.36.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516110},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"f4870757657ddd27dd39f0f24ed9e31a54e848f2","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.36.2_1784181307621_0.6580818560136825","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"keryx","version":"0.37.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.37.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2e84290db70c0d13474606ff3b541c8badfeaed1","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.37.0.tgz","fileCount":122,"integrity":"sha512-tnOoXezHBbQ7HZyXPJkInAIDWKAKNdc4cetxPj+PRc8g+UWVn9IU4I8EoTnW2hqf+WOnhEQzDNQDQ6LyHVR0HA==","signatures":[{"sig":"MEYCIQD9GNTlY9PlUBrhEYo1++T7uuDRRNQQWZrPZsQ10ler4AIhAMMEsQmjAuDWPG+k/1XEa3vhCgBpGccIhInbV5swbDgu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.37.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516805},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"6c4597b4fff4b5e37e5ae971954bf7b4563c6d97","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.37.0_1784185057674_0.08943879815503464","host":"s3://npm-registry-packages-npm-production"}},"0.37.1":{"name":"keryx","version":"0.37.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.37.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"0c68970ca2c6a70afce8d489d8f543f784f10567","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.37.1.tgz","fileCount":122,"integrity":"sha512-F7rAWzNdGMux0iRuSGfd/fvQT+bcf8R7ZXtJxwOM+CZ7uylaTvpUpXmHUXHsOarB5pLhcE+zbW86SRnaNj2nGg==","signatures":[{"sig":"MEQCIE9z3hoLnskQzTPL3SpVptdwdUcwb2vQaifwejy/fP12AiAvl6afd4inpMQ4Kb7V0jnJue6zmt9un2t86p48ZRNBJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.37.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517313},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"ad257c797c26dd0b1589a17171f9472ddc9a61f3","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.37.1_1784266375301_0.6106636468682953","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"keryx","version":"0.38.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.38.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"fc1a0000ac493811e30b2ce373d9946e4891fcfb","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.38.0.tgz","fileCount":123,"integrity":"sha512-LXjSoGUl4SPfRyLvb9FFnKm9KSWBrYJ7t4xo/JX20JwUrgaw7qEgOdxcxytZf8PhCs2iUqGnZGgGkB7o69yczg==","signatures":[{"sig":"MEYCIQDA4Mbi6LPDg77Uz+ftfbzq5jm7xMG7J0JpDFQDFXREIgIhAO694TnW5Z5qYgk5DhlfS8DoNQ6u7gfJ1NYAxNvpCmU1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.38.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524424},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"06255684ec1b2102aa3b1b0022bb20a3eb7f3de7","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^6.0.3","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.38.0_1784313088272_0.6165477761735256","host":"s3://npm-registry-packages-npm-production"}},"0.38.1":{"name":"keryx","version":"0.38.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.38.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"fcc90aa419eacd824de8233dbfd0836c6e7a1fbc","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.38.1.tgz","fileCount":123,"integrity":"sha512-ZxCWQ5o3pa+/MQ3dW9VTeStvjnivt0qD3IGHuEu3JxOYdlwclVe0ixVFj9GCKFqEbcJwChDC2xgt2LHrbCFagw==","signatures":[{"sig":"MEQCIGGpQPXaeeWLvrS4erY0HzJuHOchhpPtDEb/uy0vui8XAiBHSRNcptcCSeCWHA2FczyVyfWOUqfO4ycmGOcWmevVHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.38.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524424},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"c44013e33e87bdbbb61cc502572686c9f66b964b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.38.1_1784352159219_0.23790077668631437","host":"s3://npm-registry-packages-npm-production"}},"0.38.2":{"name":"keryx","version":"0.38.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.38.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d5aafa779b0506677de2f0c1057e4e2accc1b79a","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.38.2.tgz","fileCount":123,"integrity":"sha512-iVKhHI90CavYFWxbllHsh4OnxpqAmALwETWkdSIEfzGS6Es6r6zZWmPjFr7QS7QBPOlc1Gr9k1amkrUFqfzFfA==","signatures":[{"sig":"MEQCIHfh2ThaFZ2iuuL5PS5r90SJUsZaPRbypCfLrnrM4OdsAiAi19JwC3eAm4H03sl6kjfOrtXErvbfgLR0L+CTbRFJnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.38.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524458},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"7a52c576af6b37d7000bf8bbe495c7a8a1148f72","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.38.2_1784352916297_0.7826094967618957","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"keryx","version":"0.39.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.39.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8f8497fde78a0ae0b806f591c5faf584e216b277","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.39.0.tgz","fileCount":125,"integrity":"sha512-og93S8u6hocH5pkVw8Hm0k8LPBb0weabHbex0YwC+MX7YE+7IvYV77aFznwDPXMX7/F8OGYsOpTZoT4fU/OfqQ==","signatures":[{"sig":"MEUCIQD8F/O/7QTJeo/b6jSxxe0SFLhTM8jQzN0HJ/YW45T3PwIgEsyTLRjNA+R/FJ7eoiocNkEl35QbkY10C5/CqcmHQmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.39.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":533367},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"8a2e38755b483d88332de3591e5c360a38eff556","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.39.0_1784527746406_0.3975467465778266","host":"s3://npm-registry-packages-npm-production"}},"0.39.1":{"name":"keryx","version":"0.39.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.39.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"e5b5a4bc355f291911fe3471d2ee55a182a65ac8","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.39.1.tgz","fileCount":125,"integrity":"sha512-dCnZuNq1KTMPsIjxN22/OpUIwlFGls4tHM6r3hsuUU0vquAw1m/0B+r/OhSfjZWogd55V0GMzrhw1uOOkHEGbA==","signatures":[{"sig":"MEUCIQD+lMTO3Le+dkelyYZjzfGhdbf8LzpN0K0inB7rLuK9MgIgbJw3TmXtfz0AsAetuTn5gvfeHHDDUtwAzbeofzPhsio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.39.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":533603},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"573815da70527709ebe43a56349cdb88d5066d58","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.39.1_1784746011289_0.7141355303719568","host":"s3://npm-registry-packages-npm-production"}},"0.39.2":{"name":"keryx","version":"0.39.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.39.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"c292f74a297ada607d905fc168f85a7bf586f0a7","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.39.2.tgz","fileCount":125,"integrity":"sha512-0NB2Q/Db18HUYGRfKHOLJMz8oq1PWVCRxINTnCifEB/hF5ldhz5xygWTingLpP5mF7OAuIWk3jVeWhdQ6R0yvQ==","signatures":[{"sig":"MEYCIQDAam3/KiIjdsDyrXWb0Yiy0l0jOou/INNysyRY/8nT/AIhAPhC08OHxpDslR5aC5ypt7ja9j+DRk53qO6B87Xqpk4S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.39.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534975},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"161a32e56d344da0ed6bd03a05cf81673966cd6b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.39.2_1784752948923_0.8906165335892167","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"keryx","version":"0.40.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.40.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"185d218da2817f7b9e4e5b7598beb65304c67a0e","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.40.0.tgz","fileCount":125,"integrity":"sha512-DACuYT5+Is/xSn/FrDKbPPtnP0l7+TA31FPLxZExf77iKXkUB5YHluEtzAAbkm9A3yUt1A+2hysyw3ioGbsFDQ==","signatures":[{"sig":"MEQCIH1BuvzA6ADsWpJTsrmo5hXOepMvXv2DK75/KqhnQgQ4AiBgyWc83TkZkX++6pTe2mfSd3NLHVPnmChlz0qNmMUAyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.40.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":540686},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"69035c2a512965d68f4c44d72921c4ae53c66926","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.40.0_1784905650098_0.13405327658012278","host":"s3://npm-registry-packages-npm-production"}},"0.40.1":{"name":"keryx","version":"0.40.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.40.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"44c9db8ac18a35ec1cc6732a326c8f239d9d8b75","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.40.1.tgz","fileCount":125,"integrity":"sha512-kINe0352Joc4mvTyauFnWPLvOFxPdP/JNt7doHkKuuXlmdD55voxF3xwv4gOS/894p9F88aFixugEB64Zop6DQ==","signatures":[{"sig":"MEQCIAWoMij+YdLb3dokxzzUBM7eahCzwjO6yDNjTwTUtAy1AiBrZp/yfWCskMrK2K6eAEYGHC12yK1si+5L4bzT3Ir+/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.40.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":545887},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"7e4988542ac094c5723733d153ca115bc306e9f2","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.1","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.40.1_1785268161988_0.1926952403019191","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"keryx","version":"0.41.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.41.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"a896b6847db7669f10348f48cad2e03873d577d5","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.41.0.tgz","fileCount":126,"integrity":"sha512-1enq1SOxvuTQOVJ6R1cnYURPAeYHj1EL/zxV7Ku6hyQ6M8n777kUJM6P5SIsMB8yr/V7P0ywYzwwJJEthC7W+Q==","signatures":[{"sig":"MEUCIAKvEVI0lBbXtXMDRRwuJl1Sou0js2ML+CkBetzfswGKAiEA/Dh/wb+QO6K0bizXahc//ynepO0Vuq01cw6+uMb6ebE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.41.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567278},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"6736b2ade5ffa338b0915a4ff91403c69a66bcee","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.41.0_1785381168517_0.38435572633833437","host":"s3://npm-registry-packages-npm-production"}},"0.41.1":{"name":"keryx","version":"0.41.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.41.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"4bdb0ec9b6ce2351b393b0016dfd88dedaf7cb12","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.41.1.tgz","fileCount":126,"integrity":"sha512-325L1DwMUJb7encAqEwacZTqYnsInil5q0gdkrT2MozIAIOI4DcpVIKdWiD2ZrLiP6sVAPx6SilNpOPClYhCjw==","signatures":[{"sig":"MEYCIQDFVDs7uN8VOXlz3D4GEmfZWN6e29+Ej6AUJAn51mZpmwIhAJJrUtMDJ/R7+UKhvAdxEU/Nytj+Ty+QmRqlh+seNX+v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.41.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":569068},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"02b26a29cb107b20d471395fa533932fdea1b86a","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.41.1_1785479392039_0.3030140610812537","host":"s3://npm-registry-packages-npm-production"}},"0.41.2":{"name":"keryx","version":"0.41.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.41.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8c5376ebe780dc0d0cca9865ca3d6425d5007b87","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.41.2.tgz","fileCount":126,"integrity":"sha512-/WgvY5ATdTJHufoAWEpOKgYajrGaO/Hi6YosuTmxXq0NoRsIvTTNjKIl2UnGxnmo5jtcfpxLw4CQDP3D1e5clA==","signatures":[{"sig":"MEQCIAk4THf30oqgbu+YhGRl4eh0pd+L6aB/3QmfhImCQ/duAiA8EeWqJMNZ8u/qnIB6wcCRdpOj4tj3rTyFlGFr5kFoMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.41.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":569074},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"02e1cda1c8f48df628e394090165d772d3f3d25f","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.41.2_1785559224224_0.7362633758187815","host":"s3://npm-registry-packages-npm-production"}},"0.41.3":{"name":"keryx","version":"0.41.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.41.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"f58bc149cda03c71cd57a9df655e696d85feeff5","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.41.3.tgz","fileCount":127,"integrity":"sha512-wK9XKZV6gQs0povAMzYVrowH7CR74Z+KQhUoH+bHwKJAh1jUnAT23XnSj3lAzZyzQ10VmLhVdE37Ib9df0fjrw==","signatures":[{"sig":"MEQCIGnikI/5eHmPsc3/qV7itHQw4GPZGFfTLMMclH5yncTzAiBn/Br0+8QHOavoFK3ymIahy3pNiXTEIG6TuesQdCvclg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.41.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576188},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"9f954c1199b5c35d84523bf49eda76a7c00fb7f3","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.41.3_1785734563839_0.7448995395926297","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"name":"keryx","version":"0.42.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"308ca2ca391f7dbdb1c41574a0761189d3c81976","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.0.tgz","fileCount":127,"integrity":"sha512-MNOKxlpJdCYpOEl8aD/NabI5+FaSfMeEIL7zZM2BBfjvYyHNA0BhImw6tgQIHt6wpDfX2L2w92VzAjRWg9Kz7w==","signatures":[{"sig":"MEYCIQDtLGI2FcBpi7VSMKu9DjBYAm0B+bww6zTGvMziM8foAwIhAMiskMlVge1320Wueqr0AF4gcjP5C6jgaTnsoneEDXMe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":581346},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"af9b50f22690f7c63c2ec16b1b14ed2120a04ad5","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.0_1785734855964_0.7311036812073093","host":"s3://npm-registry-packages-npm-production"}},"0.42.1":{"name":"keryx","version":"0.42.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"61019c8153e905b0f1d6df5d6847c4a69b495ef9","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.1.tgz","fileCount":127,"integrity":"sha512-NsvTvOwL5/21ppCUqe2VYe0gQJQ1CMNEsZTgV/s1HSGTsY2sTVOzigYGqA48vimiUb6pAOGY/KyYi9HFAAB6gA==","signatures":[{"sig":"MEUCIQDuQ1J5gqdmzQD4XQaYQaKTKdp2ig4y6FpifEte8D0GyQIgCXTy/o9n3Zaz72TxUEBgklwtzfkTAUY9O2ePQmJlk0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":581620},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"12a16932e2004a850492c040f0d42f38566b16f5","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.1_1785738686191_0.0068018990903604415","host":"s3://npm-registry-packages-npm-production"}},"0.42.2":{"name":"keryx","version":"0.42.2","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.2","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"ece8ba24816bef37f5835b9fdf81df97833cbda8","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.2.tgz","fileCount":127,"integrity":"sha512-WmXX6UBZHUtjdso0T97ZVhOjT5q8SAJzReUrqTgR+HwXdQoUe29FdNFlLu6BEMV+67FlLCafacIPdznM784WqA==","signatures":[{"sig":"MEQCIB8S7lZWqrS2S+wOGqMww7Oih6v5bx4HSRrMuJPr1e3yAiBEXMTrq03XHP+z+sbHiUK6UgDH0iPt2SZYGavuslr1fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":581620},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"af0e25fff6f8b913811a539f0b57165fc718a4a0","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.2_1785771278215_0.6640392463584373","host":"s3://npm-registry-packages-npm-production"}},"0.42.3":{"name":"keryx","version":"0.42.3","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.3","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"d6e6772a97470885875b5b82ed0d95716281ef5e","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.3.tgz","fileCount":127,"integrity":"sha512-/oN7+gec+G188aTFopV+KgaEBJHV9HU+PpE0Ovkkj9LqH0N5V5ZTxDIph7qmeBCYbizw8NV0zL6QkTUwH9USTQ==","signatures":[{"sig":"MEUCIAwPUI92fo5sUYeyHy0yK7qsFYVcjQ6s6KpqJf2vLzKWAiEA5WQXMJLVkXETwfQTkqLvwhM2hVIQSk3P/FapPSNtHe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":583499},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"85a2a41cc85afb5ddb6772c664b11bfa0097f355","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.3_1785994088805_0.20087937991606886","host":"s3://npm-registry-packages-npm-production"}},"0.42.4":{"name":"keryx","version":"0.42.4","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.4","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"926c2eb8b3e3b743673677aae7348e6e67869c61","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.4.tgz","fileCount":127,"integrity":"sha512-Wp3KzTVniXLkvlnruwoCc7DwciUYHnemIlARdnAe6BD30FVb0g171pYNTl5tFqTka5D8yNcC0/MX+8czTCc/hA==","signatures":[{"sig":"MEUCIDR/87XBglfIybTXQioNFZ8idvo/RGuGjDzeCO/9hT/CAiEAvUajKZgthk4sXXn3bZhf9Z+wE1dXaYrd+D4oR3dUBT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585775},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"f6f6491975c55cfa38e9543fd941cb3e9e0dc07b","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.4_1786145845377_0.1174765589473512","host":"s3://npm-registry-packages-npm-production"}},"0.42.5":{"name":"keryx","version":"0.42.5","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.5","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"7b4e90419cb4d9be9660ae2447c0a09abe0b09ce","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.5.tgz","fileCount":127,"integrity":"sha512-VzvVpoaZ6ssakTzMKi6Dga60eiTD9op4QOBANCdIbKiu42meL7ofhHZMF46cEYhspyhBd4QuCVNW1pMaYAhq0Q==","signatures":[{"sig":"MEYCIQD6OaCzrf2t907blDXdTdgT4Li6lgAsECkO4a6BlN60twIhAJPEXm0BwJVRZ/fBaD924dBaVKyNNiqvhNEnPyuLc2JG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585775},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"37447e056bfc2dbf097c1216a59f06f185209d58","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.5_1786688051725_0.8107172978863997","host":"s3://npm-registry-packages-npm-production"}},"0.42.6":{"name":"keryx","version":"0.42.6","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.6","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"6591ce5658291ee9c28cbb270bf805fd8e4cbf4d","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.6.tgz","fileCount":127,"integrity":"sha512-1uZ7dycYsL/y8usEfXlzxUtJyThomMU4ZKABNB6vA+26uhg8d7xHPgAGyX9hAVk/eFTH+dZBSx1b5d/OLVxq8A==","signatures":[{"sig":"MEUCIQClliJWFs/RnZErKNIvbeRX6QLtsq2w/84PzqNSjowLFQIgIMHl54/r4776ETkhNkHq82ovvUpuTxvTiy29PKgVITE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585775},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"49fbe8fc28aa54e551ea83a45adb10c97a5fd07e","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.6_1786716550996_0.6212971305776991","host":"s3://npm-registry-packages-npm-production"}},"0.42.7":{"name":"keryx","version":"0.42.7","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.7","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"2d79e504e1f56700fa3f3fc2c7688871ef368ac4","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.7.tgz","fileCount":127,"integrity":"sha512-cUziuGU0GsbE4U+9kEo935VgqghDJAgmkgoVv0h+YWj8jpdwo+APogCDhWjvSmeVJvvOYMq0aXo2iZmTvGG7rw==","signatures":[{"sig":"MEUCIFPUd5H6J1AEDC3Zyj2SX33eoZQBh56EWaiQLjfwSHTdAiEAtD34YWKdTL1skEb2zrb4vRS926q47eVD4eck/oBzRe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585775},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"741c6ce668b0ebe04a561b25acfc9303c9419744","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.7_1786718217200_0.46370081162760535","host":"s3://npm-registry-packages-npm-production"}},"0.42.8":{"name":"keryx","version":"0.42.8","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.42.8","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"56a51c46fa0587a53d10c7e48d534ab8333e3371","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.42.8.tgz","fileCount":127,"integrity":"sha512-bn9KpFlhzeci0D2VA1bul36r567k3yhpd0K6V1MlOvBtvXaB8ZAj1nIhUDDNxymrv7NxREmbTXKaV37mWZrk/w==","signatures":[{"sig":"MEUCIQC7egoaJPq4RCdVKts8BcEDF1zJMRX3SPxzlQOEfcqzegIgEibaQmiIgRIsEqNvCnKGimH87t/vYnmgrlMMuvMasXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.42.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585775},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"5cc3496dadeaa814e8b5bfe916a9a00a7a87055e","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.42.8_1786760175156_0.5497361750223126","host":"s3://npm-registry-packages-npm-production"}},"0.43.0":{"name":"keryx","version":"0.43.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.43.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"6c3437aea924e9c978e027f53353997752e8484e","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.43.0.tgz","fileCount":127,"integrity":"sha512-O3HQ5vLdX9WYB31b35qb83b7SnsyTmPRJnBGufdn1nLKq0bQksyarvmdrA2wrmzD+bVGdYm6nc/t/r+yn/P+Dw==","signatures":[{"sig":"MEQCIHDWQFh6t029Z5fM64C2A/nmLO9lr3IQi5RhwL50yPoSAiB2242nr6CnzROB5FOJ1ZXocsGnPDbmj8GH0M4oBjLEDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBuKUue7A8zXbDMjRgh3HJWNItN8N/kHn+3I/bZ/1Be0AiEAgEJ2GpoDID22QGJ72hp3NBjrv36WwZm3Z0LU2CoCkK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.43.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589245},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"99729be1e5682d3623915f76c30c22dad524bb6e","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.43.0_1788491705909_0.5629402075029006","host":"s3://npm-registry-packages-npm-production"}},"0.43.1":{"name":"keryx","version":"0.43.1","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.43.1","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"8e34cac3b635c9a456592cf75a3210774354304d","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.43.1.tgz","fileCount":127,"integrity":"sha512-7Fea1veqt6zqHaNSpb8bmSI7WacqK7qDyJ5rIgfCis+WMAyMPD7TY7ORTBmi/wPl6wIyRO/vEKI+RUSKcK2Cqw==","signatures":[{"sig":"MEYCIQDTUH5Xoy/4k9fvWAHAYLyZ4NRV9FF+44hvEhQLpFR8zAIhAInXCFgtO4iAW6QWiWz+43YgO135meAPfTxpZVRMBQKT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDXRxX7kBl0TOU2zAn9XdARHDKpFCiRghJPA3yagZI9MQIgXVjvGsnK1dKsbRRFvYRMfPiizsk5pAWa07kBwcbX4Lk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.43.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589245},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"dc83614039d30459b4108d490d38f97e71076b9c","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.43.1_1788502452305_0.9586651894131064","host":"s3://npm-registry-packages-npm-production"}},"0.44.0":{"name":"keryx","version":"0.44.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.44.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"eaa8906e70bfe66f0bbe3f82b42a179a8b108d1c","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.44.0.tgz","fileCount":127,"integrity":"sha512-rZ0627zBUwPy1qUCBNn2UoLLnA1eYY8y2YiGBK8oduiTLduuTojYxg24pAkuVc2wxXjnp13K1paRdIh3jh2FOw==","signatures":[{"sig":"MEYCIQC9Paw5SIDP+HFtjR05U6gbZwwv3CZ1SZwDq8glyzTJAgIhAPGe0E27XGPMgGDq93JJF7CQpriA4tsN/y24bCqPx9nW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0Z2a+ChFdY7cLhPkJuqLbVCFXDqCBoQbaeMpsP71sZgIgSHFRS5LQfpaJx6VVKYS0vrpjJZPMhZAjAcixlz7DrpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.44.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589245},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"bc658492780daf5ffaf550c47b32a28262767cc2","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.44.0_1788505038557_0.48374105033309056","host":"s3://npm-registry-packages-npm-production"}},"0.45.0":{"name":"keryx","version":"0.45.0","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","_id":"keryx@0.45.0","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"homepage":"https://keryxjs.com","bugs":{"url":"https://github.com/actionhero/keryx/issues"},"bin":{"keryx":"keryx.ts"},"dist":{"shasum":"3b09348f8a132c0994ec2e61290659795cf19617","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.45.0.tgz","fileCount":127,"integrity":"sha512-xMW/9awgYjzNvQCel7Yg+mblfkv5ufnNLtXZ3Jj8a6d8cnpYjcUP7UiVspvz5iHLCBJqZ/JApeUZ+voqBf156w==","signatures":[{"sig":"MEYCIQCrj3u+ghXTPOD8hJpsdHQ37weqWrBHQz6HD2xBdNnU4QIhAI06Sv0zfsb6gXLFhv+N6M4MikgLWp3MrolSoTZyvFDo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBbTbSW1gzSumFLnxaMfpLErCXci36Z4NWvyjH4jTQNbAiBkZftVO8WzhnB41Xk/HPZ5hd0fQew3QonjQHAjbp1MHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.45.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589926},"type":"module","module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"fc8f0c4f21240cb5882a63e0a5297664c8a76a51","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/keryx_0.45.0_1788673173615_0.2307528116351536","host":"s3://npm-registry-packages-npm-production"}},"0.46.0":{"_id":"keryx@0.46.0","bin":{"keryx":"keryx.ts"},"bugs":{"url":"https://github.com/actionhero/keryx/issues"},"dist":{"shasum":"bb37b262ca2177efedd5cf2ede7e4683ea51b464","tarball":"https://registry.npmjs.org/keryx/-/keryx-0.46.0.tgz","fileCount":129,"integrity":"sha512-F8bPBn+uYIgmeu49Q5AwmaryZUMyrBGmwr8EHvArAC0nsnei1FhV5KHVx2gPrUo2i0Qv8rkbOx/lmTik1T/OEA==","signatures":[{"sig":"MEUCIA+7ciOp70lWHNhn6Ni5fRYg0XBJztN3sGKRq/PNIIJmAiEAijgVHXe29pqDYMCYQbTt8FlUr+nfMLrSCbukD1U4zZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDaEflCHMyiK0E2oxsTysXBafGjhcohgaIiD3Ul5LeOOgIgGAFa5wu6QAINDFNF2N2nb9SZTRgnKGzwVqfB975B91w="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keryx@0.46.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602189},"name":"keryx","type":"module","author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"module":"index.ts","exports":{".":"./index.ts","./config":"./config/index.ts","./util/*":"./util/*","./testing":"./testing/index.ts","./config/*":"./config/*","./actions/*":"./actions/*","./classes/*":"./classes/*","./servers/*":"./servers/*","./middleware/*":"./middleware/*","./initializers/*":"./initializers/*"},"gitHead":"85ac57a10c3b0e39bb4444f593b48e6734ca5987","license":"MIT","scripts":{"dev":"bun --watch keryx.ts start","lint":"tsc && biome check .","test":"tsc && bun test","start":"bun keryx.ts start","format":"tsc && biome check --write .","compile":"bun build keryx.ts --compile --outfile keryx","migrations":"bun run migrations.ts","prepublishOnly":"cp ../../README.md ."},"version":"0.46.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:259cbd17-dc3e-4631-ab74-980a3ee082f9"}},"homepage":"https://keryxjs.com","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"_npmVersion":"12.0.2","description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","directories":{},"maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"_nodeVersion":"24.20.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","mustache":"^4.2.0","ts-morph":"^28.0.0","@types/pg":"^8.20.0","commander":"^14.0.3","typescript":"^7.0.2","node-resque":"^9.5.2","@types/mustache":"^4.2.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.12","drizzle-kit":"^0.31.10","drizzle-zod":"^0.8.3"},"peerDependencies":{"zod":"^4.3.6","drizzle-orm":"^0.45.2","drizzle-zod":"^0.8.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keryx_0.46.0_1789797374468_0.23479714912098193"}}},"time":{"created":"2026-02-16T04:54:52.758Z","modified":"2026-09-19T05:56:14.911Z","0.0.1":"2026-02-16T04:54:53.046Z","0.1.2":"2026-02-20T06:28:50.685Z","0.2.0":"2026-02-20T18:21:47.589Z","0.2.1":"2026-02-20T18:29:42.192Z","0.2.2":"2026-02-20T20:55:19.082Z","0.3.0":"2026-02-20T23:01:12.418Z","0.3.1":"2026-02-20T23:54:26.562Z","0.3.2":"2026-02-21T01:02:55.696Z","0.3.3":"2026-02-21T01:16:07.412Z","0.3.4":"2026-02-21T01:29:24.681Z","0.3.5":"2026-02-21T01:56:02.985Z","0.4.0":"2026-02-21T02:46:34.612Z","0.5.0":"2026-02-22T00:16:27.281Z","0.6.0":"2026-02-22T01:00:12.466Z","0.7.0":"2026-02-22T01:10:16.875Z","0.8.0":"2026-02-22T19:19:43.961Z","0.8.1":"2026-02-22T19:26:57.209Z","0.9.0":"2026-02-24T05:33:35.771Z","0.10.0":"2026-02-24T05:58:56.490Z","0.10.1":"2026-02-24T06:34:29.754Z","0.10.2":"2026-02-24T07:11:32.722Z","0.10.3":"2026-02-27T00:46:25.963Z","0.10.4":"2026-02-28T06:29:57.914Z","0.10.5":"2026-02-28T07:05:02.083Z","0.10.6":"2026-02-28T19:06:39.126Z","0.10.7":"2026-02-28T19:53:50.028Z","0.11.0":"2026-02-28T22:35:22.765Z","0.11.1":"2026-03-01T17:26:45.555Z","0.11.2":"2026-03-01T17:33:23.438Z","0.11.3":"2026-03-01T17:50:54.732Z","0.11.4":"2026-03-01T19:14:44.100Z","0.11.5":"2026-03-01T19:27:54.137Z","0.11.6":"2026-03-01T20:24:29.036Z","0.12.0":"2026-03-02T05:54:17.043Z","0.12.1":"2026-03-02T06:49:55.016Z","0.12.2":"2026-03-03T01:57:23.056Z","0.12.3":"2026-03-04T04:23:57.927Z","0.12.4":"2026-03-05T05:50:09.243Z","0.13.0":"2026-03-05T07:04:20.281Z","0.13.1":"2026-03-05T16:19:32.485Z","0.14.0":"2026-03-06T01:19:01.318Z","0.14.1":"2026-03-09T00:56:39.969Z","0.14.2":"2026-03-09T01:01:45.859Z","0.14.3":"2026-03-09T01:09:55.532Z","0.15.0":"2026-03-10T03:11:57.990Z","0.15.1":"2026-03-10T04:07:03.779Z","0.15.2":"2026-03-11T15:04:29.782Z","0.15.3":"2026-03-12T20:00:28.670Z","0.15.4":"2026-03-16T01:40:11.513Z","0.16.0":"2026-03-22T04:37:25.079Z","0.16.1":"2026-03-22T05:17:40.834Z","0.16.2":"2026-03-22T05:44:28.306Z","0.16.3":"2026-03-22T05:52:50.594Z","0.16.4":"2026-03-22T06:00:12.256Z","0.17.0":"2026-03-22T06:20:18.017Z","0.17.1":"2026-03-22T17:56:48.987Z","0.18.0":"2026-03-22T18:03:20.926Z","0.19.0":"2026-03-22T19:07:21.182Z","0.19.1":"2026-03-22T19:09:17.441Z","0.19.2":"2026-03-22T23:55:06.404Z","0.20.0":"2026-03-23T01:35:27.342Z","0.20.1":"2026-03-23T02:08:12.708Z","0.20.2":"2026-03-26T04:48:41.678Z","0.20.3":"2026-04-01T19:41:04.421Z","0.20.4":"2026-04-02T01:09:21.854Z","0.20.5":"2026-04-03T03:45:23.912Z","0.20.6":"2026-04-03T03:58:22.828Z","0.20.7":"2026-04-03T04:05:39.868Z","0.20.8":"2026-04-03T04:09:51.206Z","0.20.9":"2026-04-03T04:16:41.725Z","0.21.1":"2026-04-03T22:22:39.972Z","0.21.2":"2026-04-03T22:44:49.510Z","0.21.3":"2026-04-10T18:22:05.976Z","0.21.4":"2026-04-10T19:05:34.821Z","0.21.5":"2026-04-10T21:06:47.775Z","0.21.6":"2026-04-10T21:29:34.897Z","0.21.7":"2026-04-19T23:36:29.425Z","0.21.9":"2026-04-19T23:59:42.465Z","0.22.0":"2026-04-20T00:03:13.879Z","0.22.1":"2026-04-20T00:10:13.887Z","0.23.0":"2026-04-21T06:56:47.276Z","0.23.1":"2026-04-21T07:06:14.301Z","0.23.2":"2026-04-21T07:29:20.495Z","0.24.0":"2026-04-21T07:32:27.313Z","0.24.1":"2026-04-21T09:14:07.272Z","0.24.2":"2026-04-21T09:17:37.531Z","0.25.0":"2026-04-21T09:21:35.784Z","0.25.1":"2026-04-21T19:35:13.353Z","0.25.2":"2026-04-22T03:44:28.383Z","0.25.3":"2026-04-22T06:50:58.610Z","0.25.4":"2026-04-22T07:17:34.250Z","0.25.5":"2026-04-22T07:41:17.547Z","0.26.0":"2026-04-24T01:15:26.518Z","0.29.0":"2026-04-24T10:43:57.828Z","0.29.1":"2026-04-24T12:35:14.980Z","0.29.4":"2026-04-24T15:08:17.766Z","0.29.5":"2026-04-28T09:58:24.118Z","0.29.6":"2026-04-28T10:15:51.369Z","0.29.7":"2026-04-28T10:22:27.554Z","0.29.8":"2026-04-28T10:31:38.145Z","0.29.9":"2026-04-29T04:45:47.922Z","0.29.10":"2026-04-29T05:11:22.051Z","0.29.11":"2026-04-29T08:00:29.624Z","0.30.0":"2026-04-29T20:40:23.389Z","0.31.0":"2026-06-17T06:17:45.225Z","0.31.1":"2026-06-18T03:56:22.475Z","0.32.0":"2026-06-18T05:44:27.106Z","0.34.1":"2026-07-15T16:28:25.128Z","0.35.0":"2026-07-15T22:35:26.292Z","0.35.1":"2026-07-15T22:55:14.811Z","0.35.2":"2026-07-16T03:55:19.743Z","0.35.3":"2026-07-16T04:12:50.812Z","0.36.0":"2026-07-16T05:38:12.419Z","0.36.1":"2026-07-16T05:44:37.327Z","0.36.2":"2026-07-16T05:55:07.771Z","0.37.0":"2026-07-16T06:57:37.835Z","0.37.1":"2026-07-17T05:32:55.481Z","0.38.0":"2026-07-17T18:31:28.415Z","0.38.1":"2026-07-18T05:22:39.440Z","0.38.2":"2026-07-18T05:35:16.453Z","0.39.0":"2026-07-20T06:09:06.570Z","0.39.1":"2026-07-22T18:46:51.490Z","0.39.2":"2026-07-22T20:42:29.130Z","0.40.0":"2026-07-24T15:07:30.268Z","0.40.1":"2026-07-28T19:49:22.152Z","0.41.0":"2026-07-30T03:12:48.720Z","0.41.1":"2026-07-31T06:29:52.167Z","0.41.2":"2026-08-01T04:40:24.371Z","0.41.3":"2026-08-03T05:22:44.022Z","0.42.0":"2026-08-03T05:27:36.129Z","0.42.1":"2026-08-03T06:31:26.370Z","0.42.2":"2026-08-03T15:34:38.463Z","0.42.3":"2026-08-06T05:28:08.998Z","0.42.4":"2026-08-07T23:37:25.621Z","0.42.5":"2026-08-14T06:14:11.871Z","0.42.6":"2026-08-14T14:09:11.176Z","0.42.7":"2026-08-14T14:36:57.365Z","0.42.8":"2026-08-15T02:16:15.290Z","0.43.0":"2026-09-04T03:15:06.041Z","0.43.1":"2026-09-04T06:14:12.389Z","0.44.0":"2026-09-04T06:57:18.643Z","0.45.0":"2026-09-06T05:39:33.716Z","0.46.0":"2026-09-19T05:56:14.551Z"},"bugs":{"url":"https://github.com/actionhero/keryx/issues"},"author":{"name":"Evan Tahler","email":"evan@evantahler.com"},"license":"MIT","homepage":"https://keryxjs.com","keywords":["api","framework","bun","typescript","websocket","realtime","mcp","model-context-protocol","cli","ai","ai-agents","mcp-server","mcp-framework","oauth2","oauth","tool-calling","llm","claude","fullstack","background-tasks","zod","transport-agnostic","actionhero"],"repository":{"url":"git+https://github.com/actionhero/keryx.git","type":"git","directory":"packages/keryx"},"description":"The fullstack TypeScript framework for MCP and APIs — write one action, serve HTTP, WebSocket, CLI, background tasks, and MCP tools.","maintainers":[{"name":"evantahler","email":"evan@evantahler.com"}],"readme":"# Keryx\n\n<p align=\"center\"><strong>The fullstack TypeScript framework for MCP and APIs.</strong></p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/actionhero/keryx/main/docs/public/images/horn.svg\" alt=\"Keryx\" width=\"200\" />\n</p>\n\n[![Test](https://github.com/actionhero/keryx/actions/workflows/test.yaml/badge.svg)](https://github.com/actionhero/keryx/actions/workflows/test.yaml)\n\n## What is this Project?\n\nThe big idea behind Keryx: **write your controller once, and it works everywhere.** A single action class handles HTTP requests, WebSocket messages, CLI commands, background tasks, and MCP tool calls — same inputs, same Zod validation, same middleware, same response. You write the logic once; the only thing that changes is how the request arrived and how the response gets delivered.\n\nThat last transport — MCP — is the reason I built this now. Every action is automatically an MCP tool, so AI agents authenticate with built-in OAuth 2.1, get typed errors, and call the exact same validated endpoints your HTTP clients do. There's no second MCP server to maintain and no schemas to keep in sync… you expose your app to agents by writing the app.\n\nAnd it's a real backend, not a toy. You get Drizzle ORM with auto-migrations, background tasks with fan-out on Resque, streaming responses (SSE, chunked binary, and the same stream over WebSocket and MCP), OpenAPI generation, pagination and caching helpers, database transactions, and a companion Vite + React frontend that reads your actions with end-to-end type safety — no code generation. It's all on [Bun](https://bun.sh), so TypeScript runs natively and startup is fast.\n\n### One Action, Every Transport\n\nHere's what that looks like in practice. This is one action:\n\n```ts\nexport class UserCreate implements Action {\n  name = \"user:create\";\n  description = \"Create a new user\";\n  inputs = z.object({\n    name: z.string().min(3),\n    email: z.string().email(),\n    password: secret(z.string().min(8)),\n  });\n  web = { route: \"/user\", method: HTTP_METHOD.PUT };\n  task = { queue: \"default\" };\n\n  async run(params: ActionParams<UserCreate>) {\n    const user = await createUser(params);\n    return { user: serializeUser(user) };\n  }\n}\n```\n\nThat one class gives you:\n\n**HTTP** — `PUT /api/user` with JSON body, query params, or form data:\n```bash\ncurl -X PUT http://localhost:8080/api/user \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"Evan\",\"email\":\"evan@example.com\",\"password\":\"secret123\"}'\n```\n\n**WebSocket** — send a JSON message over an open connection:\n```json\n{ \"messageType\": \"action\", \"action\": \"user:create\",\n  \"params\": { \"name\": \"Evan\", \"email\": \"evan@example.com\", \"password\": \"secret123\" } }\n```\n\n**CLI** — flags are generated from the Zod schema automatically:\n```bash\n./keryx.ts \"user:create\" --name Evan --email evan@example.com --password secret123 -q | jq\n```\n\n**Background Task** — enqueued to a Resque worker via Redis:\n```ts\nawait api.actions.enqueue(\"user:create\", { name: \"Evan\", email: \"evan@example.com\", password: \"secret123\" });\n```\n\n**MCP** — exposed as a tool for AI agents automatically:\n```json\n{\n  \"mcpServers\": {\n    \"my-app\": {\n      \"url\": \"http://localhost:8080/mcp\"\n    }\n  }\n}\n```\n\nSame validation, same middleware chain, same `run()` method, same response shape. The only thing that changes is how the request arrives and how the response is delivered.\n\nThat's it. The agent can now discover all your actions as tools, authenticate via OAuth, and call them with full type validation.\n\n### Key Components\n\n- **MCP-native** — every action is an MCP tool with OAuth 2.1 auth, typed errors, and per-session isolation\n- **Transport-agnostic Actions** — HTTP, WebSocket, CLI, background tasks, and MCP from one class\n- **Zod input validation** — type-safe params with automatic error responses and OpenAPI generation\n- **Built-in background tasks** via [node-resque](https://github.com/actionhero/node-resque), with a [fan-out pattern](#fan-out-tasks) for parallel job processing\n- **Strongly-typed frontend integration** — `ActionResponse<MyAction>` gives the frontend type-safe API responses, no code generation needed\n- **Drizzle ORM** with auto-migrations (replacing the old `ah-sequelize-plugin`)\n- **Companion Vite + React frontend** as a separate application (replacing `ah-next-plugin`)\n- **Streaming responses** — SSE and chunked binary streaming via `StreamingResponse`, with per-transport behavior (HTTP, WebSocket, MCP)\n- **Pagination helpers** — `paginationInputs()` Zod mixin + `paginate()` utility for standardized paginated responses\n- **Database transactions** — `withTransaction()` and `TransactionMiddleware` for automatic commit/rollback across action execution\n- **Redis caching patterns** — cache-aside and response-level cache middleware using the built-in ioredis connection\n\n### Why Bun?\n\nTypeScript is still the best language for web APIs. But Node.js has stalled — Bun is moving faster and includes everything we need out of the box:\n\n- Native TypeScript — no compilation step\n- Built-in test runner\n- Module resolution that just works\n- Fast startup and an excellent packager\n- `fetch` included natively — great for testing\n\n## Project Structure\n\n- **root** — a slim `package.json` wrapping the workspaces. `bun install` and `bun dev` work here, but you need to `cd` into each workspace for tests.\n- **packages/keryx** — the framework package (publishable)\n- **example/backend** — the example backend application\n- **example/frontend** — the example Vite + React frontend\n- **docs** — the [documentation site](https://keryxjs.com)\n\n## Quick Start\n\nCreate a new project:\n\n```bash\nbunx keryx new my-app\ncd my-app\ncp .env.example .env\nbun install\nbun dev\n```\n\nRequires Bun, PostgreSQL, and Redis. See the [Getting Started guide](https://keryxjs.com/guide/) for full setup instructions.\n\n### Developing the framework itself\n\nIf you're contributing to Keryx, clone the monorepo instead:\n\n```bash\ngit clone https://github.com/actionhero/keryx.git\ncd keryx\nbun install\ncp example/backend/.env.example example/backend/.env\ncp example/frontend/.env.example example/frontend/.env\nbun dev\n```\n\n## Production Builds\n\n```bash\nbun compile\n# set NODE_ENV=production in .env\nbun start\n```\n\n## Databases and Migrations\n\nWe use [Drizzle](https://orm.drizzle.team) as the ORM. Migrations are derived from schemas — edit your schema files in `schema/*.ts`, then generate and apply:\n\n```bash\ncd example/backend && bun run migrations\n# restart the server — pending migrations auto-apply\n```\n\n## Actions, CLI Commands, and Tasks\n\nUnlike the original ActionHero, we've removed the distinction between actions, CLI commands, and tasks. They're all the same thing now. You can run any action from the CLI, schedule any action as a background task, call any action via HTTP or WebSocket, and expose any action as an MCP tool for AI agents. Same input validation, same responses, same middleware.\n\n### Web Actions\n\nAdd a `web` property to expose an action as an HTTP endpoint. Routes support `:param` path parameters and RegExp patterns — the route lives on the action itself, no separate `routes.ts` file:\n\n```ts\nweb = { route: \"/user/:id\", method: HTTP_METHOD.GET };\n```\n\n### WebSocket Actions\n\nEnabled by default. Clients send JSON messages with `{ messageType: \"action\", action: \"user:create\", params: { ... } }`. The server validates params through the same Zod schema and sends the response back over the socket. WebSocket connections also support channel subscriptions for real-time PubSub.\n\n### CLI Actions\n\nEnabled by default. Every action is registered as a CLI command via [Commander](https://github.com/tj/commander.js). The Zod schema generates `--flags` and `--help` text automatically:\n\n```bash\n./keryx.ts \"user:create\" --name evan --email \"evantahler@gmail.com\" --password password -q | jq\n```\n\nThe `-q` flag suppresses logs so you get clean JSON. Use `--help` on any action to see its params.\n\n### Task Actions\n\nAdd a `task` property to schedule an action as a background job. A `queue` is required, and `frequency` is optional for recurring execution:\n\n```ts\ntask = { queue: \"default\", frequency: 1000 * 60 * 60 }; // every hour\n```\n\n### MCP Actions\n\nWhen the MCP server is enabled (`MCP_SERVER_ENABLED=true`), every action is automatically registered as an [MCP](https://modelcontextprotocol.io) tool. AI agents and LLM clients (Claude Desktop, VS Code, etc.) can discover and call your actions through the standard Model Context Protocol. Actions can also be exposed as MCP **resources** (URI-addressed data) and **prompts** (named templates) via `mcp.resource` and `mcp.prompt`.\n\nAction names are converted to valid MCP tool names by replacing `:` with `-` (e.g., `user:create` becomes `user-create`). The action's Zod schema is converted to JSON Schema for tool and prompt parameter definitions.\n\nTo exclude an action from MCP tools:\n\n```ts\nmcp = { tool: false };\n```\n\nTo expose an action as an MCP resource or prompt:\n\n```ts\n// Resource — clients fetch this by URI\nmcp = { tool: false, resource: { uri: \"myapp://status\", mimeType: \"application/json\" } };\n\n// Prompt — clients invoke this as a named template\nmcp = { tool: false, prompt: { title: \"Greeting\" } };\n```\n\nOAuth 2.1 with PKCE is used for authentication — MCP clients go through a browser-based login flow, and subsequent tool calls carry a Bearer token tied to the authenticated user's session.\n\n### Fan-Out Tasks\n\nA parent task can distribute work across many child jobs using `api.actions.fanOut()` for parallel processing. Results are collected automatically in Redis. See the [Tasks guide](https://keryxjs.com/guide/tasks) for full API and examples.\n\n### Streaming Responses\n\nActions can stream data by returning a `StreamingResponse`. The framework handles SSE, chunked binary, and cross-transport behavior automatically:\n\n```ts\nasync run(params: { prompt: string }) {\n  const sse = StreamingResponse.sse();\n\n  (async () => {\n    try {\n      for await (const token of callLLM(params.prompt)) {\n        sse.send(token, { event: \"token\" });\n      }\n      sse.close();\n    } catch (e) {\n      sse.sendError(String(e));\n    }\n  })();\n\n  return sse;\n}\n```\n\nOver HTTP this is native SSE; over WebSocket each chunk becomes an incremental message; over MCP chunks are forwarded as logging messages. See the [Streaming guide](https://keryxjs.com/guide/streaming) for full details.\n\n## A Note on ActionHero\n\nIf you've used [ActionHero](https://www.actionherojs.com), Keryx will feel familiar — it's the spiritual successor. I built ActionHero years ago to take the best ideas from Rails and Node.js and shove them together, and I still believe in those ideas… but the framework needed a fresh start on Bun, Zod, and Drizzle, with first-class MCP support instead of something bolted on later. Keryx is that restart.\n\nIf you're coming from ActionHero, the biggest changes are: unified controllers (actions = tasks = CLI commands = MCP tools), separate frontend and backend applications, Drizzle ORM in place of Sequelize, and MCP as a first-class transport. See the full [migration guide](https://keryxjs.com/guide/from-actionhero) for details.\n\n## Production Deployment\n\nEach application has its own `Dockerfile`, and a `docker-compose.yml` runs them together. You probably won't use this exact setup in production, but it shows how the pieces fit together.\n\n**Run `keryx build` at image build time.** It pre-generates the OpenAPI response schemas into `.cache/swagger-schemas.json` so the server doesn't have to derive them from your action return types on every boot:\n\n```dockerfile\nCOPY . .\nRUN cd backend && bun keryx.ts build\nCMD [\"bun\", \"keryx.ts\", \"start\"]\n```\n\nSee the [deployment guide](https://keryxjs.com/guide/deployment#build-step) for details.\n\n## Documentation\n\nFull docs at [keryxjs.com](https://keryxjs.com), including:\n- [Getting Started](https://keryxjs.com/guide/)\n- [Actions Guide](https://keryxjs.com/guide/actions)\n- [Streaming](https://keryxjs.com/guide/streaming)\n- [Caching](https://keryxjs.com/guide/caching)\n- [API Reference](https://keryxjs.com/reference/actions)\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/actionhero/keryx/main/docs/public/images/lion-standing.svg\" alt=\"Keryx lion\" width=\"120\" />\n</p>\n","readmeFilename":"README.md"}