{"_id":"@ageflow/server","_rev":"10-867af18d346ffda2c9fb36739219076e","name":"@ageflow/server","dist-tags":{"latest":"0.4.5"},"versions":{"0.1.0":{"name":"@ageflow/server","version":"0.1.0","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.1.0","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/agentflow/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"d16fe88cbeae472c565883e293c5ee94de3454bd","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.1.0.tgz","fileCount":27,"integrity":"sha512-T0iKls/hrj8iSlvFdwr7GjasmlBCMIQGf138kLASma8M4rEwnSDDNuTuWPw11IzfQ1KPn9NDZsQ1IggtcvWr3w==","signatures":[{"sig":"MEUCIQD0cYErpBdaRS3M7UPNabqMztHYkkYgSGGcZhoQ3d6P3gIgQnQfKN9l30IQzEL9JJ3gPLKyGZ7R4DfpmACVhwUTeLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85330},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3c1183effacdc1009c9067343d5b71d226be05e8","private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"workspace:*","@ageflow/executor":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.1.0_1776330400103_0.21666910110871274","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ageflow/server","version":"0.2.0","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.2.0","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/agentflow/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"178fd03edd60032b4728c86a934d86f1ed9c25aa","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.2.0.tgz","fileCount":27,"integrity":"sha512-0Zo7lzgNMsGP/IYavmmfT0ApqijAhdRnrsBQgl2gRmoBPPqnzyfvDgZVxOnLEqQDrxcu6Y/4OhMiLSQnO7Xd/Q==","signatures":[{"sig":"MEUCIBp5qCvCu99kk2mbPow1KnApTnd7XbH9mAGtsDEApWDmAiEA8+9OVLlXqgJlykM+5jUTYbu/rz2bBCbZcbpi2+hfcSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85330},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c9ec02fd33cba8108a1255623ba329097acfe908","private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"workspace:*","@ageflow/executor":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.2.0_1776330809881_0.2167717968896461","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ageflow/server","version":"0.3.0","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.3.0","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"2003f96071e6ae51b17fdd652b9364e1f9eb9b5a","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.3.0.tgz","fileCount":27,"integrity":"sha512-xiTsW03RP0hjhbPHAGCtBOq/jQnX2akDH7TiKMPDE3cFRYu9SSTvqVPJo52CcJzkT0zKLY8ztg3CrIjSri3QaA==","signatures":[{"sig":"MEUCIEkQqwzCH6AvWelFHbrwIBXEtmaS+275EQP8XWVsucp7AiEAjURQnzFdBfRmuc2aMe1OqVG28drBmRkAjAO+b352Npk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86415},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f055450765c4b4f8e6a06d3bcedb2e337395adb8","private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"workspace:*","@ageflow/executor":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.3.0_1776377997956_0.7176615338775683","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@ageflow/server","version":"0.3.2","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.3.2","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"bfb7ab922b3236095fecd0b2db13ee44af1a498f","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.3.2.tgz","fileCount":27,"integrity":"sha512-5v02sObQk1Wt3D8laz0MvZa3MKl6bNKzybfv57lK789rnhc4K3SvtHPT2sxi4zTzutuNIlp2SCfi9N8yKb5KAg==","signatures":[{"sig":"MEYCIQCsK8EmF2WAnVUsU8g1QGuCuk8U5YMfwYmLnl8kkHSElAIhAPDajQQIBZua5le6nCzJenx1cSMshtswKOx+RxzkW9Dn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86405},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"67e25292e8f64b4c7643f1ac12164e771122c632","private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"^0.3.2","@ageflow/executor":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.3.2_1776395161964_0.6197836395685281","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ageflow/server","version":"0.4.0","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.4.0","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"038599854a5b6e264b44f4fdf475ff9db9c48807","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.4.0.tgz","fileCount":27,"integrity":"sha512-ToeWIQpOI0t0DMpC/myx+iwFOgFKdT+nsQTW1TPMx8JIg9uyWOZ+nwFtt2OY+f7gEWxgObF8zXSlpwf1IEDtKQ==","signatures":[{"sig":"MEUCIH4a+OLbCdiuhyt/xH2/J7DKZ9ooPWUG5Y5A2ZwFUiNfAiEA4gKek2eVVJVnpWWLYWZzvGHvcfXSIAUGUHSpmVNx67Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86670},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b6cca72c82dbfea565fd3ae2fe77126bfbda245e","private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"^0.3.2","@ageflow/executor":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.4.0_1776400857484_0.541259008765141","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@ageflow/server","version":"0.4.1","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.4.1","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"fc3e93a774cc9a8603ce1886a8643c8fb76bca33","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.4.1.tgz","fileCount":27,"integrity":"sha512-FFPomWjT1QjkwU7qmIS1mu6N/jKoJ4GjIE6QuLC3Uqbh1Ja4LT12pJ5dbbJleGV9yAoD5gcQMd3QQvdLqMYXnQ==","signatures":[{"sig":"MEYCIQCJFsSNGOC+t14/VuguFXZc0yxE0PCbfBd/f/JSBWEmDAIhAJRpvdSzGN2rndC2da5dJR8d7t4DpZ4aUm1q0VJGpe+Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86693},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d1f05dffdaddc9b8082ddf57177de5e59ac68082","private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"^0.4.2","@ageflow/executor":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.4.1_1776401097643_0.18298210163354311","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@ageflow/server","version":"0.4.2","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.4.2","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"5ade0105f2a0641fc940bea474cfb4dd0b0f45be","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.4.2.tgz","fileCount":27,"integrity":"sha512-7hJzZHfBH8cxFlHuHk0A9zu+3vIKUQSvTyT2kOjXyptRajvQDJtSxqwEdiYZNXwE8+MtMzcTkJpyS3JuMs4QFw==","signatures":[{"sig":"MEUCIDLm/Jy4vM1VNINYWHiJ1s/AK1OrHiRM8Z7MfM6OzYOxAiEA5mhbnglr2tE7KdxLWgErE44DTtB1ypGwI3P6+eC2EzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86686},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"^0.4.3","@ageflow/executor":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.4.2_1776415481241_0.19561551038543357","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@ageflow/server","version":"0.4.3","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.4.3","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"d823d3da45d9005a74f2ca65241acf16675f0f5d","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.4.3.tgz","fileCount":27,"integrity":"sha512-UYpbrFoPVBMocS3QWUw9JVm2M2cMUgDyX1R2OH4Ky6r+cDPjuz9gvs8emTDNg9v8NC8JL/aqtj/wczmxmFHnZA==","signatures":[{"sig":"MEUCIQDqD6YB3FUOecOnp8No/zR+2DkPLiSsgcvkGSCiymu/EAIgBWWypl4GOvRzZSAM0Zkeja+F55+fzmTHGJIAUqrp4q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86686},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"^0.5.0","@ageflow/executor":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.4.3_1776422125016_0.3291804067990334","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@ageflow/server","version":"0.4.4","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.4.4","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"dist":{"shasum":"053de0a6c1ecb6688755cc574ef2c5a4cb2dc166","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.4.4.tgz","fileCount":27,"integrity":"sha512-JyFox+nO7l8JSNqhnmh0yEuYJZ+hN1CSJLpPZUJRB6mV9iuz+yW6h+jkyt2NfxdTKJuxlXz+kx1xeOeNm1uxSw==","signatures":[{"sig":"MEUCIHdRWTtJhuv98dSJX1oNiY6A9ISdiy2qo1nk1vxN82qCAiEAv4K7J/h3TpgvUpK9ftuQj8vyoXViqBxsOBWsCVhY5O4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86686},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"lint":"biome check src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"repository":{"url":"git+https://github.com/Neftedollar/ageflow.git","type":"git"},"_npmVersion":"11.11.0","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@ageflow/core":"^0.6.0","@ageflow/executor":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","vitest":"^2.1.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/server_0.4.4_1776434955339_0.8141195745537653","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@ageflow/server","version":"0.4.5","description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","type":"module","private":false,"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","typecheck":"tsc --noEmit","test":"vitest run","lint":"biome check src/"},"dependencies":{"@ageflow/core":"^0.6.0","@ageflow/executor":"^0.7.0"},"devDependencies":{"@types/node":"^22.0.0","vitest":"^2.1.0","zod":"^3.23.0"},"repository":{"type":"git","url":"git+https://github.com/Neftedollar/ageflow.git"},"keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"license":"MIT","_id":"@ageflow/server@0.4.5","bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-X6s9PTwwvqeh+OLktjaEFp/KdGHW3/wi6yNy6VajqxnXHNrxcuEr5zzXfrtLmcNkruikvcKGYoYRXs06Wo8dQg==","shasum":"8d7451a2796e8647ea707c0f0f7349d987447100","tarball":"https://registry.npmjs.org/@ageflow/server/-/server-0.4.5.tgz","fileCount":27,"unpackedSize":86672,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAjC+PoP1B+epxgx9e7HPRNSHKHCiJfHIpMYxuh4sf52AiEAo4J2VcoytBHmgx50C/1yXqoh4cOD0wASdOvZCdb0FMs="}]},"_npmUser":{"name":"neftedollar","email":"oildollar@gmail.com"},"directories":{},"maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/server_0.4.5_1776473883687_0.23191796363970107"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-16T09:06:39.981Z","modified":"2026-04-18T00:58:03.973Z","0.1.0":"2026-04-16T09:06:40.224Z","0.2.0":"2026-04-16T09:13:30.055Z","0.3.0":"2026-04-16T22:19:58.125Z","0.3.2":"2026-04-17T03:06:02.113Z","0.4.0":"2026-04-17T04:40:57.636Z","0.4.1":"2026-04-17T04:44:57.794Z","0.4.2":"2026-04-17T08:44:41.410Z","0.4.3":"2026-04-17T10:35:25.147Z","0.4.4":"2026-04-17T14:09:15.507Z","0.4.5":"2026-04-18T00:58:03.832Z"},"bugs":{"url":"https://github.com/Neftedollar/ageflow/issues"},"license":"MIT","homepage":"https://github.com/Neftedollar/ageflow/tree/master/packages/server","keywords":["ai","agents","workflow","llm","dsl","typescript","server","sse","streaming","hitl","human-in-the-loop","cancellation","abortcontroller","multi-agent","ageflow"],"repository":{"type":"git","url":"git+https://github.com/Neftedollar/ageflow.git"},"description":"Embeddable execution surface for ageflow workflows: stream, fire-and-forget, async HITL, cancellation.","maintainers":[{"name":"neftedollar","email":"oildollar@gmail.com"}],"readme":"# `@ageflow/server`\n\nEmbeddable execution surface for [AgentFlow](https://github.com/Neftedollar/ageflow) workflows.\n\n- **Stream** structured `WorkflowEvent`s — wire to SSE, WebSocket, or JSONL yourself\n- **Async HITL** — pause a run, expose a `pendingCheckpoint`, resume from any request\n- **Fire-and-forget** — background runs with `onEvent` / `onComplete` / `onError` callbacks\n- **Cancellation** — `AbortSignal` + `cancel(runId)` via a built-in run registry\n- **Zero HTTP dependency** — bring your own Express, Hono, Fastify, Next.js, or raw `node:http`\n\n---\n\n## Installation\n\n```bash\nbun add @ageflow/server @ageflow/core @ageflow/executor\n# or\nnpm install @ageflow/server @ageflow/core @ageflow/executor\n```\n\n---\n\n## Quick start\n\n### `stream()` — consume events one by one\n\n```ts\nimport { createRunner } from \"@ageflow/server\";\nimport { myWorkflow } from \"./workflows.js\";\n\nconst runner = createRunner();\n\nfor await (const ev of runner.stream(myWorkflow, { userId: \"u1\" })) {\n  console.log(ev.type, ev);\n  // workflow:start | task:start | task:complete | checkpoint | workflow:complete …\n}\n```\n\n### `run()` — await the final result\n\n```ts\nconst result = await runner.run(myWorkflow, { userId: \"u1\" });\nconsole.log(result.outputs); // { taskName: outputObject, … }\n```\n\n> `run()` auto-rejects HITL checkpoints by default (least-privilege). Pass\n> `onCheckpoint` to handle them inline.\n\n### `fire()` — background run, synchronous handle\n\n```ts\nconst handle = runner.fire(myWorkflow, { userId: \"u1\" }, {\n  onEvent: (ev) => console.log(\"event\", ev.type),\n  onComplete: (result) => console.log(\"done\", result.outputs),\n  onError: (err) => console.error(\"failed\", err),\n});\n\nconsole.log(handle.runId); // available immediately\n```\n\n---\n\n## SSE example (`node:http`)\n\n```ts\nimport { createServer } from \"node:http\";\nimport { createRunner } from \"@ageflow/server\";\nimport { triageWorkflow } from \"./workflows.js\";\n\nconst runner = createRunner();\n\ncreateServer(async (req, res) => {\n  if (req.method === \"POST\" && req.url === \"/runs\") {\n    res.writeHead(200, {\n      \"content-type\": \"text/event-stream\",\n      \"cache-control\": \"no-cache\",\n    });\n    for await (const ev of runner.stream(triageWorkflow, {})) {\n      res.write(`data: ${JSON.stringify(ev)}\\n\\n`);\n      if (ev.type === \"checkpoint\") break; // pause; client will resume later\n    }\n    res.end();\n  }\n}).listen(3000);\n```\n\n### Hono\n\n```ts\nimport { Hono } from \"hono\";\nimport { streamSSE } from \"hono/streaming\";\nimport { createRunner } from \"@ageflow/server\";\n\nconst app = new Hono();\nconst runner = createRunner();\n\napp.post(\"/runs\", (c) =>\n  streamSSE(c, async (stream) => {\n    for await (const ev of runner.stream(myWorkflow, {})) {\n      await stream.writeSSE({ data: JSON.stringify(ev) });\n    }\n  }),\n);\n```\n\n### Express\n\n```ts\nimport express from \"express\";\nimport { createRunner } from \"@ageflow/server\";\n\nconst app = express();\nconst runner = createRunner();\n\napp.post(\"/runs\", async (req, res) => {\n  res.setHeader(\"content-type\", \"text/event-stream\");\n  for await (const ev of runner.stream(myWorkflow, req.body)) {\n    res.write(`data: ${JSON.stringify(ev)}\\n\\n`);\n  }\n  res.end();\n});\n```\n\n---\n\n## Async HITL example\n\nStart a run (SSE handler breaks on `checkpoint`):\n\n```bash\ncurl -N -X POST http://localhost:3000/runs\n# data: {\"type\":\"checkpoint\",\"runId\":\"abc123\",\"message\":\"Approve output?\", ...}\n```\n\nResume from a second request:\n\n```ts\napp.post(\"/runs/:id/resume\", express.json(), (req, res) => {\n  runner.resume(req.params.id, req.body.approved === true);\n  res.sendStatus(204);\n});\n```\n\n```bash\ncurl -X POST http://localhost:3000/runs/abc123/resume \\\n  -H 'content-type: application/json' \\\n  -d '{\"approved\":true}'\n```\n\nThe paused `stream()` generator will unblock and continue emitting events.\n\n---\n\n## Run registry: TTLs, `list()`, `get()`\n\n`createRunner()` maintains an in-memory registry of all active runs.\n\n```ts\nconst runner = createRunner({\n  ttlMs: 5 * 60_000,          // terminal runs evicted after 5 min (default)\n  checkpointTtlMs: 60 * 60_000, // awaiting-checkpoint runs auto-rejected after 1 h (default)\n  reaperIntervalMs: 60_000,    // reaper sweep interval (default)\n});\n\nrunner.list();                 // readonly RunHandle[]\nrunner.get(\"abc123\");          // RunHandle | undefined\n```\n\n`RunHandle` shape:\n\n```ts\ninterface RunHandle {\n  runId: string;\n  state: \"running\" | \"awaiting-checkpoint\" | \"done\" | \"failed\" | \"cancelled\";\n  workflowName: string;\n  createdAt: number;          // Date.now()\n  lastEventAt: number;\n  pendingCheckpoint?: CheckpointEvent; // only when state === \"awaiting-checkpoint\"\n  result?: { outputs: Record<string, unknown>; metrics: WorkflowMetrics };\n  error?: { name: string; message: string };\n}\n```\n\n---\n\n## Configuration\n\n```ts\ninterface RunnerConfig {\n  /** TTL (ms) before terminal runs are evicted. Default: 300 000 (5 min). */\n  ttlMs?: number;\n  /** TTL (ms) before awaiting-checkpoint runs are auto-rejected. Default: 3 600 000 (1 h). */\n  checkpointTtlMs?: number;\n  /** Reaper sweep interval (ms). Default: 60 000. */\n  reaperIntervalMs?: number;\n  /** Custom runId generator. Default: crypto.randomUUID(). */\n  generateRunId?: () => string;\n}\n```\n\n---\n\n## Cancellation\n\n```ts\n// Via AbortController\nconst ac = new AbortController();\nfor await (const ev of runner.stream(wf, {}, { signal: ac.signal })) {\n  if (shouldStop) ac.abort();\n}\n\n// Via registry (fire-and-forget, or from a different request)\nrunner.cancel(runId); // idempotent — no-op if unknown\n```\n\n---\n\n## `RunOptions` and `FireOptions`\n\n```ts\ninterface RunOptions {\n  signal?: AbortSignal;\n  /** Return true to approve, false to reject. If omitted, stream() pauses (async HITL). */\n  onCheckpoint?: (ev: CheckpointEvent) => Promise<boolean> | boolean;\n}\n\ninterface FireOptions extends RunOptions {\n  onEvent?: (ev: WorkflowEvent) => void;\n  onError?: (err: Error) => void;\n  onComplete?: (result: WorkflowResult) => void;\n}\n```\n\n---\n\n## Errors\n\n| Class | Code | When |\n|-------|------|------|\n| `HitlRejectedError` | `hitl_rejected` | Checkpoint was rejected (`approved=false`) |\n| `CheckpointTimeoutError` | `checkpoint_timeout` | `checkpointTtlMs` expired |\n| `RunNotFoundError` | `run_not_found` | `resume()` called with unknown `runId` |\n| `InvalidRunStateError` | `invalid_run_state` | `resume()` called on a non-awaiting-checkpoint run |\n\nAll errors extend `AgentFlowError` from `@ageflow/core`.\n\n---\n\n## Non-goals\n\n- **No bundled HTTP middleware.** Turning events into SSE / WebSocket / JSONL\n  is the caller's responsibility. A separate `@ageflow/server-http` package may\n  ship in v0.2.\n- **No persistence.** The run registry is in-memory. Pluggable `RunStore`\n  (SQLite / Redis) is planned for v0.2.\n- **No distributed runs.** Single-process only.\n- **No `subscribe(runId)`.** Joining an in-flight run from a second observer\n  is deferred to v0.2.\n\n---\n\n## Roadmap\n\nSee the [design spec](../../docs/superpowers/specs/2026-04-16-server-execution-design.md)\n§Roadmap for planned v0.2 and v0.3 features.\n","readmeFilename":"README.md"}