{"_id":"@agent-action-runner/express","_rev":"14-97fdd28f9e01517f0f24f40b05cd5b4a","name":"@agent-action-runner/express","dist-tags":{"latest":"0.8.2"},"versions":{"0.2.0":{"name":"@agent-action-runner/express","version":"0.2.0","keywords":["agent","actions","workflow","typescript","express","approval","audit","llm"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.2.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"7811b8e46dce2690f975fe50208919d7b9f2764f","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.2.0.tgz","fileCount":6,"integrity":"sha512-1cMYtWz4tBPhqt5xO6v4hy0oRI2EsAgglfKGpWKeEQnQBc5cOEAorhWvb+PabbLos9/IZb6igt/pKk91j6B3YQ==","signatures":[{"sig":"MEYCIQCAmY0qc316hV/b6Q7oEqq/3vG/ovOZVkmTQU4aUiekmwIhAPPcR9+4HcfzbDeRrF/soQQG8XyYvQojnICmbWoNFJnw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6636},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"aa48c5deb09854e7a38e8e8253601783ffd8c1e5","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"doompy17","email":"brillarrz@gmail.com"},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.9.0","description":"Express adapter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.2.0","@agent-action-runner/http":"^0.2.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.2.0_1777997434412_0.8366227933234258","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agent-action-runner/express","version":"0.3.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.3.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"5b26973a009a220dcedb9271686a034ea7fc4bee","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.3.0.tgz","fileCount":6,"integrity":"sha512-60/3MW5pOb/RiihEqHGOSHHDki9OGvK+3MUYOauTHHxg8KMha7OCLmqK2ODs7wSLQyZadAm6jkUxL+JeMDwgBw==","signatures":[{"sig":"MEQCIH9jUyUz8t+PsZmmzMIIGvbt7vddS9jK45hSW+qLO+GSAiBPDZlfSHKMeiVz2CH9Hp/FD65lTtC2j1PGIQFkFvd0tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6799},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f9f4b8709bfd991f6ccd73c5a5aa6e42390d06f9","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"doompy17","email":"brillarrz@gmail.com"},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.9.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.3.0","@agent-action-runner/http":"^0.3.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.3.0_1778068366180_0.29385572888577416","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agent-action-runner/express","version":"0.4.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.4.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"36adf89086a934fbcbb08805d0238b4720d99041","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.4.0.tgz","fileCount":6,"integrity":"sha512-r9K7lONoFZAcWrEdXmhNGK1o0eSa8eFgzigfGduga3vJHFOsnlwCFejSMWUOnstuxDg79mSaK7+mb4q5j0qljA==","signatures":[{"sig":"MEUCIQDjho0tn5JH6kIp3FFblzDdZtoU5nb1iXXU7PUFmgWl/AIgCrvVGbBAAvbOJ0PWUY8liRBgwuAM8wgsLEjpqrmzkYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6799},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"90e6e57e33cf9ebd9d1047beb9c8f1239f1c8218","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"doompy17","email":"brillarrz@gmail.com"},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.14.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.4.0","@agent-action-runner/http":"^0.4.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.4.0_1778116896131_0.6269532421511639","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@agent-action-runner/express","version":"0.4.6","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.4.6","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"5e4b47d3c595807402ef8a5df827554ee0e9d5e0","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.4.6.tgz","fileCount":6,"integrity":"sha512-gLuXgeSTfavsBWq/YVMTPKH6sJDOtuBT6WVqUn224ONZV9FwNcXGojZHNs46HtoWbDHZwQiihXZerlOm1mERDQ==","signatures":[{"sig":"MEYCIQCNYQweU158qV6OuKpe3XSbIrBOdvTe6j1qgRxnhgzRTQIhAOT4F42j+hibK3xTW960KdDpDwwIoqsWrxXLqCrSiDwz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10850},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a9bf05189585662a18b0a2df5f76b4f36b695a46","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.4.0","@agent-action-runner/http":"^0.4.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.4.6_1778122534463_0.2476287829873558","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agent-action-runner/express","version":"0.5.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.5.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"530effd53fc320d24553d26b0367e5b7b0d31814","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.5.0.tgz","fileCount":6,"integrity":"sha512-zdujgpEU0/QfOTSpz+2e55zq2GwWpixtunMFdW1hEsWzMUxuXGx1lFhcyKuzvYKw6W0H/Qkkmn/2DSJ/jirV3g==","signatures":[{"sig":"MEUCIQCt1BM5BaaOsyyoRBmlafFzP95KDAbaIhVlnQBTZ2+MmAIgEHJ5RkWdI5Wc5XdECBm2RTVWu8MjWqNkyKQho65cTkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10850},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"81d795afaf77240c0ea6d31b8c1cf2098bb0bbeb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.5.0","@agent-action-runner/http":"^0.5.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.5.0_1778129657541_0.7237490145641017","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agent-action-runner/express","version":"0.6.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.6.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"1e0d64a178930d307e427679be045b90e1ba591c","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.6.0.tgz","fileCount":6,"integrity":"sha512-sW8nEjFqTWvdf5eF+QriFyfWJGzszyV5gMee+E/DhGfj0Jk42WXUAJzIMWYbLw3P+pIMr4eRiZYE278Fnw77RA==","signatures":[{"sig":"MEUCIC4bHcOE0kplwV80C/8740blh23bUt52Pt6xCIbCS44nAiEAvy8R01x63o4RdknXtbUA5d7cO0RbCz4hJB6k/thMU6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11102},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c44e3012eb1ea754d3549fb1ae6d483bf10f6c1b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.6.0","@agent-action-runner/http":"^0.6.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.6.0_1778160009418_0.7500920568673091","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@agent-action-runner/express","version":"0.6.1","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.6.1","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"708938e4daefad294026289fec470e30f9c0697d","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.6.1.tgz","fileCount":6,"integrity":"sha512-QSqesqN3Gc3TohVqH9SVzfq+mS+3itCKVzENSzFTr8tiRXlpo7i6ywXroVMd+3r4/b/AW+RCgWVo0uAU+9I5pA==","signatures":[{"sig":"MEUCIQD8OUI5H+I1AzYjp+NSR2924xVUeGA0cxyxqeMH/F6SwgIgEGTPjFZA4fLWlVeSQ4Q3STTLe1/AjPuApUqVKHmKOP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11102},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b3ed647a6a4192a4acb3375b2d935453929f87bc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.6.1","@agent-action-runner/http":"^0.6.1"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.6.1_1778164820977_0.20518629576134462","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@agent-action-runner/express","version":"0.6.2","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.6.2","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"8491d24b890542a1e944bf82541f6f843778062b","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.6.2.tgz","fileCount":6,"integrity":"sha512-p5UkS5yS0eYTk7nV07NRzIKgvMk9eD+Eg6+p7hLHbb0Wd0WWO7wvLd+kDcmIj1uCyGFVi8r+JhMEhuIpwTIq+Q==","signatures":[{"sig":"MEYCIQCZ3xljoJ8bbPeEFuF4Oc/l3sqr0WYi542MhkhISjFtlAIhAMy0OF96iPUiQA8mdxmgIVtVg4+AOegC7t/gqJvRnHy9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11102},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dfbfae92ff2e54578ab13979a47e47aa04f2db11","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.6.2","@agent-action-runner/http":"^0.6.2"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.6.2_1778166700183_0.3971678894082802","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@agent-action-runner/express","version":"0.6.3","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.6.3","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"4e37e1050c8ef7c1f434a8d3353ab435482785cd","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.6.3.tgz","fileCount":6,"integrity":"sha512-q/Om4+1cJWQowF82gs04cCDqU8zQ1hMcQEVx3koLlM7X2AurVB78Mjd0KrX3PmjDsp8+juNw4T3U8zyiVWVEMA==","signatures":[{"sig":"MEUCIAvDdl7cMfTQo+fCOuwgH8Ml7TXMHbW7P+u0uFhG9eZTAiEAkfUZLrIRde2w8x0thG61jELcFiuFiKbDmLSjvC6q62w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11102},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3f3c6ad854be65e7eb4f3b0aab6e1511854e62f7","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.6.3","@agent-action-runner/http":"^0.6.3"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.6.3_1778331315405_0.8762607199498604","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agent-action-runner/express","version":"0.7.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.7.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"247c9b5e89551333ba1a6999443fa9167372518b","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.7.0.tgz","fileCount":6,"integrity":"sha512-fW5GY5dlWshB4H00q+KkV1s+Uypvl41nvEaLXkbd0WiLC7xkERkY2sPb5kSNI72ok4iPoUDFF74FJgbcwzObzg==","signatures":[{"sig":"MEUCIQDmIkqdtCyu2ID9s8HRwmTnOq+/bpRWb87idSZX0nv5xQIgPrXlqiLvx75OPan4sWOlA/0mP3UoJP3tMTrJQ9mXQzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11102},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9f1f5dcc52c7f21d1dedd8e597dfd700f804da07","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.7.0","@agent-action-runner/http":"^0.7.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.7.0_1778336365113_0.1695087823559589","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@agent-action-runner/express","version":"0.7.1","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.7.1","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"12b30fd8c65ce1dc30d5534d28b289161e311ef2","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.7.1.tgz","fileCount":6,"integrity":"sha512-ElgYKHdq/SUHqD0lMbiQLeuKqWWaDly6DjuC/SaaXwqylSSGPTa3I1PS182UPVPhBNbCkHcEM56ACsmn6p3QsQ==","signatures":[{"sig":"MEUCIQCthXCoNgt4DTbk6XjAS+4nGmiY/fMgRysIAufebVgaXwIgNajXYhlHa8KYGhB9iZJo8RbTX7lag/sAirKHSs86H7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c18d5415a7ae6cc17ec42a90b487da065264993a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.7.1","@agent-action-runner/http":"^0.7.1"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.7.1_1778338711240_0.21716121651252784","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@agent-action-runner/express","version":"0.8.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.8.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"1763463825fc6002abd81aa1b57dcb6e5e91a1f7","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.8.0.tgz","fileCount":6,"integrity":"sha512-bsN5VWerJFPxjQCsOjqbVIUIrdi24tje1xNDnaRJpXaJEQogjU6aoPSeG3l5gpNBDQLJUrcDvdZJv4w9WFn6Vg==","signatures":[{"sig":"MEYCIQCx7YUq9nU5tinjDv1hhB+2NGLgFqkt47fnDoIFbYy4cwIhAJpkrWFfOscwY5F6K+kgxdrTuZXvoTNiolMVHr0GGQ2i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"14ef4cec8048f5d88007e346f50f5ede46b093ab","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"file:../core","@agent-action-runner/http":"file:../http"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.8.0","@agent-action-runner/http":"^0.8.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.8.0_1778341010919_0.9144312092345384","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@agent-action-runner/express","version":"0.8.1","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/express@0.8.1","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"6397192aea9767f5ac2151138ac292667983da1a","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.8.1.tgz","fileCount":6,"integrity":"sha512-x9XFQO6fYCXfVCexOyH7BdhtHKAO0opOGp/+NbHsc6P1YLdo6byqFd6l74FG+ez9YHfvMpQyHl4rRD44LLe5Mw==","signatures":[{"sig":"MEYCIQCgQHVxUgFkFBg4WruoRx2WSnySqMCefkeNnf0l0ifSlgIhAJwGYW7R/0/VtK9iVOPtnBwLssgfBj65QcgOKoD+apkH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"778ad68e7a72b20643f9e80566041085c46b27c2","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/http --if-present","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/express"},"_npmVersion":"11.11.0","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","express":"^5.2.1","supertest":"^7.1.4","@types/express":"^5.0.6","@types/supertest":"^6.0.3","@agent-action-runner/core":"^0.8.1","@agent-action-runner/http":"^0.8.1"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@agent-action-runner/core":"^0.8.1","@agent-action-runner/http":"^0.8.1"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/express_0.8.1_1778343940141_0.9781153202659023","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@agent-action-runner/express","version":"0.8.2","description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","license":"Apache-2.0","author":{"name":"Doompy"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/Doompy/agent-action-runner.git","directory":"packages/express"},"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"engines":{"node":">=18.18.0"},"publishConfig":{"access":"public"},"sideEffects":false,"scripts":{"prepack":"npm run build","prebuild":"npm run build --workspace @agent-action-runner/http --if-present","build":"tsc -p tsconfig.build.json","pretest":"npm run build --workspace @agent-action-runner/http --if-present","test":"vitest run","pretypecheck":"npm run build --workspace @agent-action-runner/http --if-present","typecheck":"tsc -p tsconfig.json --noEmit"},"peerDependencies":{"@agent-action-runner/core":"^0.8.2","@agent-action-runner/http":"^0.8.2","express":"^4.18.0 || ^5.0.0"},"peerDependenciesMeta":{"@types/express":{"optional":true}},"devDependencies":{"@agent-action-runner/core":"^0.8.2","@agent-action-runner/http":"^0.8.2","@types/express":"^5.0.6","@types/supertest":"^6.0.3","express":"^5.2.1","supertest":"^7.1.4","vitest":"^4.0.14","zod":"^4.1.13"},"gitHead":"37be6f225af7711a54c4d0ed8e315f8c82124d8f","_id":"@agent-action-runner/express@0.8.2","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-waC7Ek73roHJSwP4OBgO0rlK1kBBZc9+ATitcHVNAvRm0OEWy7V/rgWuSiRqVRAaujCnPSIx099/T6MBzZ7GRA==","shasum":"de42a2b44819568f81806bb96e265ed02cdd6740","tarball":"https://registry.npmjs.org/@agent-action-runner/express/-/express-0.8.2.tgz","fileCount":6,"unpackedSize":11764,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fexpress@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCAJMd4qEhkjlyRklS8nIFB41F4ZvgEjzldTmEeRNMAvAIgPfhRPgf+JbP4inheZwBmDe5AiTWDZ/YKkS1KtTlI23U="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a344f292-bd6b-4057-81b3-11bbdfa1d3cd"}},"directories":{},"maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express_0.8.2_1778383447735_0.32522721895105233"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-05T16:10:34.289Z","modified":"2026-05-10T03:24:08.200Z","0.2.0":"2026-05-05T16:10:34.574Z","0.3.0":"2026-05-06T11:52:46.331Z","0.4.0":"2026-05-07T01:21:36.267Z","0.4.6":"2026-05-07T02:55:34.596Z","0.5.0":"2026-05-07T04:54:17.705Z","0.6.0":"2026-05-07T13:20:09.631Z","0.6.1":"2026-05-07T14:40:21.146Z","0.6.2":"2026-05-07T15:11:40.353Z","0.6.3":"2026-05-09T12:55:15.552Z","0.7.0":"2026-05-09T14:19:25.295Z","0.7.1":"2026-05-09T14:58:31.430Z","0.8.0":"2026-05-09T15:36:51.067Z","0.8.1":"2026-05-09T16:25:40.275Z","0.8.2":"2026-05-10T03:24:07.881Z"},"bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"author":{"name":"Doompy"},"license":"Apache-2.0","homepage":"https://github.com/Doompy/agent-action-runner#readme","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"repository":{"type":"git","url":"git+https://github.com/Doompy/agent-action-runner.git","directory":"packages/express"},"description":"Express adapter for agent-safe action and workflow runner for TypeScript backends.","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"readme":"# @agent-action-runner/express\n\nExpress adapter for Agent Action Runner.\n\nUse this package to expose a core `AgentActionRunner` through HTTP endpoints in an Express application while keeping user identity, allowed modes, approval tokens, approval context, and metadata under server-side control.\n\nThe adapter exposes registered actions. It does not execute agent-generated code or discover arbitrary Express routes.\n\nExperimental / pre-1.0.\n\n## Install\n\n```bash\nnpm install @agent-action-runner/core @agent-action-runner/http @agent-action-runner/express express zod\n```\n\n`express` and `@agent-action-runner/core` are peer dependencies. `@agent-action-runner/http` contains the shared HTTP contract used by the official HTTP adapters.\n\n## Quickstart\n\n```ts\nimport express from 'express';\nimport { createRunner } from '@agent-action-runner/core';\nimport { createExpressAdapter } from '@agent-action-runner/express';\nimport { z } from 'zod';\n\nconst app = express();\nconst runner = createRunner();\n\nrunner.registerAction({\n  name: 'delivery.searchJobs',\n  mode: 'read',\n  description: 'Search delivery jobs by status.',\n  inputSchema: z.object({\n    status: z.array(z.string()),\n  }),\n  handler: async (input) => ({\n    jobIds: input.status.includes('FAILED') ? ['job_1'] : [],\n  }),\n});\n\napp.use('/agent-runner', createExpressAdapter(runner, {\n  getUserId: (req) => req.header('x-user-id') ?? 'anonymous',\n}));\n\napp.listen(3000);\n```\n\nThe adapter installs `express.json()` by default. In production, you can provide your own parser or disable adapter-level parsing when the host app already owns body parsing and size limits:\n\n```ts\napp.use(express.json({ limit: '256kb' }));\n\napp.use('/agent-runner', createExpressAdapter(runner, {\n  getUserId: (req) => req.user.id,\n  jsonParser: false,\n}));\n```\n\n## Endpoints\n\nWith the adapter mounted at `/agent-runner`, the routes are:\n\n| Method | Path | Description |\n|---|---|---|\n| `GET` | `/agent-runner/actions` | Lists registered action metadata. |\n| `POST` | `/agent-runner/actions/:name/execute` | Executes one action. |\n| `POST` | `/agent-runner/workflows/execute` | Executes a JSON workflow. |\n\n`GET /actions` returns action metadata only. It does not serialize schemas.\n\n```json\n{\n  \"ok\": true,\n  \"actions\": [\n    {\n      \"name\": \"delivery.searchJobs\",\n      \"mode\": \"read\",\n      \"description\": \"Search delivery jobs by status.\",\n      \"approvalRequired\": false,\n      \"tags\": [\"delivery\", \"operations\"],\n      \"resourceType\": \"deliveryJob\",\n      \"riskLevel\": \"low\"\n    }\n  ]\n}\n```\n\n## Execute An Action\n\n```bash\ncurl -s http://localhost:3000/agent-runner/actions/delivery.searchJobs/execute \\\n  -H \"content-type: application/json\" \\\n  -H \"x-user-id: operator_1\" \\\n  -d '{\"input\":{\"status\":[\"FAILED\"]}}'\n```\n\nSuccessful responses use this shape:\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"executionId\": \"exec_1\",\n    \"actionName\": \"delivery.searchJobs\",\n    \"mode\": \"read\",\n    \"output\": {\n      \"jobIds\": [\"job_1\"]\n    }\n  }\n}\n```\n\n## Execute A Workflow\n\n```bash\ncurl -s http://localhost:3000/agent-runner/workflows/execute \\\n  -H \"content-type: application/json\" \\\n  -H \"x-user-id: operator_1\" \\\n  -d '{\n    \"workflow\": {\n      \"workflowName\": \"search-failed-jobs\",\n      \"steps\": [\n        {\n          \"id\": \"jobs\",\n          \"action\": \"delivery.searchJobs\",\n          \"input\": {\n            \"status\": [\"FAILED\"]\n          }\n        }\n      ]\n    }\n  }'\n```\n\n## Server-Side Security Boundary\n\nThe adapter requires `getUserId(req)`. Do not take user identity from the request body.\n\n```ts\ncreateExpressAdapter(runner, {\n  getUserId: (req) => req.user.id,\n  getAllowedModes: (req) => req.user.isOperator\n    ? ['read', 'draft', 'dryRun', 'mutate']\n    : ['read', 'draft', 'dryRun'],\n  getApprovalToken: (req) => req.header('x-approval-token'),\n  getApprovalContext: (req) => ({\n    resourceIds: req.header('x-resource-ids')?.split(','),\n    dryRunHash: req.header('x-dry-run-hash'),\n  }),\n  getMetadata: (req) => ({\n    requestId: req.header('x-request-id'),\n    ip: req.ip,\n  }),\n});\n```\n\nBy default, the adapter ignores these request body fields:\n\n- `allowedModes`\n- `approvalToken`\n- `approvalContext`\n- `idempotencyKey`\n- `metadata`\n\nSet `allowClientExecutionOptions: true` only for trusted internal tooling.\n\n## Mutate Actions\n\n`mutate` actions remain blocked unless the server allows `mutate` mode and the core approval hook approves the request.\n\n```ts\napp.use('/agent-runner', createExpressAdapter(runner, {\n  getUserId: (req) => req.user.id,\n  getAllowedModes: (req) => req.user.canMutate\n    ? ['read', 'draft', 'dryRun', 'mutate']\n    : ['read', 'draft', 'dryRun'],\n  getApprovalToken: (req) => req.header('x-approval-token'),\n}));\n```\n\nThe Express adapter does not implement authentication, sessions, approval signing, or persistent audit storage. Those stay in your application.\n\n## Error Responses\n\nErrors use a stable JSON shape:\n\n```json\n{\n  \"ok\": false,\n  \"error\": {\n    \"code\": \"APPROVAL_REQUIRED\",\n    \"message\": \"Action \\\"admin.disableUser\\\" requires approval.\"\n  }\n}\n```\n\nCommon status mappings:\n\n| Error | Status |\n|---|---|\n| action not found | `404` |\n| schema validation failed | `400` |\n| action timeout | `408` |\n| invalid step reference | `400` |\n| mode not allowed | `403` |\n| approval required | `403` |\n| policy rejected | `403` |\n\n## Example\n\nSee `examples/express-admin-ops` for a runnable Express app with:\n\n- `admin.searchUsers`\n- `admin.dryRunDisableUser`\n- `admin.disableUser`\n- HMAC-bound approval tokens\n- in-memory audit trail\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}