{"_id":"@llamaindex/workflow-core","_rev":"23-6a34b7efddbece3c77c4e269b83c8de3","name":"@llamaindex/workflow-core","dist-tags":{"latest":"1.3.4"},"versions":{"0.4.5":{"name":"@llamaindex/workflow-core","version":"0.4.5","license":"MIT","_id":"@llamaindex/workflow-core@0.4.5","maintainers":[{"name":"yisding","email":"yi.s.ding@gmail.com"},{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"}],"homepage":"https://github.com/run-llama/llama-flow#readme","bugs":{"url":"https://github.com/run-llama/llama-flow/issues"},"dist":{"shasum":"97d1b63ef3a714027db922b2d3a2a84372c413b3","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-0.4.5.tgz","fileCount":94,"integrity":"sha512-pK/hpc2WPdQUDPmtdhPhYg+bccQY1L8XoKtHr+W2MNvAgDrzuYuw8vv7+jDlcfn4PiyVNhZ5LhpHiWq7W1w+bA==","signatures":[{"sig":"MEUCIHqRVWTe4xMyMxmMBTabcktpsv4zhnKNlAbocC1GURkHAiEAo0AMqW3NE6VumaOkXrJ8SxmVATcxwvur8drIUT+xnuM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379638},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-0.4.5.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/snapshot":{"import":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"default":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"require":{"types":"./middleware/snapshot.d.cts","default":"./middleware/snapshot.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","actor":{"name":"himself_65","type":"user","email":"himself65@outlook.com"},"email":"himself65@outlook.com"},"_resolved":"/tmp/8967339c2955ac2cbc0c5cc545d36fcb/llamaindex-workflow-core-0.4.5.tgz","_integrity":"sha512-pK/hpc2WPdQUDPmtdhPhYg+bccQY1L8XoKtHr+W2MNvAgDrzuYuw8vv7+jDlcfn4PiyVNhZ5LhpHiWq7W1w+bA==","repository":{"url":"git+https://github.com/run-llama/llama-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.3","hono":"^4.8.3","next":"^15.3.1","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.11.12","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^22.14.1","stream-chain":"^3.4.0","@modelcontextprotocol/sdk":"^1.10.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_0.4.5_1750852696380_0.4973250862465055","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@llamaindex/workflow-core","version":"0.4.6","license":"MIT","_id":"@llamaindex/workflow-core@0.4.6","maintainers":[{"name":"yisding","email":"yi.s.ding@gmail.com"},{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"8274218ee849c522fbb9d6f944349d63756b57bf","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-0.4.6.tgz","fileCount":94,"integrity":"sha512-SsEgLVR5EfaBcogW1AAy3VJRdPRXo2tYsqQvNWCQF8dS7Uw199MmFyQKzrpeiMBnYPYg8lmLE7HxpStwwdJ3Ng==","signatures":[{"sig":"MEYCIQDPU/jNgPXugHFhPzX4IyOA1845xZ/EKsgYejhUu0TJNgIhAM1xVLeMN16GTsLnvj7jxz1S1NJsJk00l/W36t7RWObq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380135},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-0.4.6.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/snapshot":{"import":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"default":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"require":{"types":"./middleware/snapshot.d.cts","default":"./middleware/snapshot.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","actor":{"name":"himself_65","type":"user","email":"himself65@outlook.com"},"email":"himself65@outlook.com"},"_resolved":"/tmp/741412074011e831d2b09c936a511907/llamaindex-workflow-core-0.4.6.tgz","_integrity":"sha512-SsEgLVR5EfaBcogW1AAy3VJRdPRXo2tYsqQvNWCQF8dS7Uw199MmFyQKzrpeiMBnYPYg8lmLE7HxpStwwdJ3Ng==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.2","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_0.4.6_1750889266287_0.2806773818502055","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@llamaindex/workflow-core","version":"1.0.0","license":"MIT","_id":"@llamaindex/workflow-core@1.0.0","maintainers":[{"name":"yisding","email":"yi.s.ding@gmail.com"},{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"7a173cef85f7b3047725e99f525044d51826e2c6","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.0.0.tgz","fileCount":94,"integrity":"sha512-pMQk89x11wvJu+uNHqB9gIZ1Ww069CikgltNcuxo4Bi1ajzrvScsu3H+3VS1XmkinKxhQjHjT+BJdObfWBfNCQ==","signatures":[{"sig":"MEUCIQDTFEobppO5+8oVxut+085dn78kIYasE9CA7zeXvmM/JAIgekdwuSo3Btku/dZDDgVTuIC0E6AudBAvrBSQn9MamH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380135},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/snapshot":{"import":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"default":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"require":{"types":"./middleware/snapshot.d.cts","default":"./middleware/snapshot.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","actor":{"name":"himself_65","type":"user","email":"himself65@outlook.com"},"email":"himself65@outlook.com"},"_resolved":"/tmp/5cd0c99e18cf710398a30fdda671d98b/llamaindex-workflow-core-1.0.0.tgz","_integrity":"sha512-pMQk89x11wvJu+uNHqB9gIZ1Ww069CikgltNcuxo4Bi1ajzrvScsu3H+3VS1XmkinKxhQjHjT+BJdObfWBfNCQ==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.2","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.0.0_1750890955602_0.9705311490552191","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@llamaindex/workflow-core","version":"1.1.0","license":"MIT","_id":"@llamaindex/workflow-core@1.1.0","maintainers":[{"name":"yisding","email":"yi.s.ding@gmail.com"},{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"b80cc335275cd070cffb180957acdcfc4d268029","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.1.0.tgz","fileCount":93,"integrity":"sha512-ZnATVh1ECdon1PRn0hddK24nzm12ttHuXDUIIF73CU68xICqxyHSlukdcpKFY+SAH9CxnoSWJH/SwS+wST1gKA==","signatures":[{"sig":"MEUCIQDwOtqaM6Fc8djj6KrECz+nBZ9LW4EtCTtENevpradGYAIgFNFNJy0vi9qfxQd2yEW1KpWt6VfZH3hpkkf5AimR/lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373491},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/snapshot":{"import":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"default":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"require":{"types":"./middleware/snapshot.d.cts","default":"./middleware/snapshot.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","email":"himself65@outlook.com"},"_resolved":"/tmp/491b81d865a0aef45e0ff71ccc21b877/llamaindex-workflow-core-1.1.0.tgz","_integrity":"sha512-ZnATVh1ECdon1PRn0hddK24nzm12ttHuXDUIIF73CU68xICqxyHSlukdcpKFY+SAH9CxnoSWJH/SwS+wST1gKA==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.2","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.17.0","dependencies":{"simple-async-context":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.1.0_1752255417856_0.851952922351916","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@llamaindex/workflow-core","version":"1.2.0","license":"MIT","_id":"@llamaindex/workflow-core@1.2.0","maintainers":[{"name":"yisding","email":"yi.s.ding@gmail.com"},{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"d9c774c259d92d478d92baa95f6bba50a6453dc2","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.2.0.tgz","fileCount":95,"integrity":"sha512-yu1Q3NMbKDDDUwMIz3bR2mm9oe15y63lOqtVqqPxTR5gctMlXbYahHcsh++OLWh98ri3VOPyDgA0p0BdThNCqQ==","signatures":[{"sig":"MEYCIQDcYBCPbV2gFU4N9dYcN+XDblSCaUHwLMShNGfeVtRUcAIhAMztq50g+2ekTj0KSaYTaP1RVxxXAl/gvxLOuwfFCPkc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637706},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.2.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/snapshot":{"import":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"default":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"require":{"types":"./middleware/snapshot.d.cts","default":"./middleware/snapshot.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","email":"himself65@outlook.com"},"_resolved":"/tmp/653394c79cc0e6dfd4d6462b4d3f4722/llamaindex-workflow-core-1.2.0.tgz","_integrity":"sha512-yu1Q3NMbKDDDUwMIz3bR2mm9oe15y63lOqtVqqPxTR5gctMlXbYahHcsh++OLWh98ri3VOPyDgA0p0BdThNCqQ==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.2","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.2.0_1753161793604_0.4699151624623594","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@llamaindex/workflow-core","version":"1.2.1","license":"MIT","_id":"@llamaindex/workflow-core@1.2.1","maintainers":[{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"},{"name":"cle-does-things","email":"astraberte9@gmail.com"},{"name":"cheesyfishes","email":"logan@runllama.ai"},{"name":"disiok","email":"simonsdsuo@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"23bc47f76063d20793876527d7e6980bf86a939d","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.2.1.tgz","fileCount":83,"integrity":"sha512-bQ+wm+6R14IFLzgmIzeJVQ8SxOVqSZ+je+A/uYZernTt8L/FT8lhUTLIDkFc1F+0n40J0fgQOYUGKzXJiFtovg==","signatures":[{"sig":"MEUCIQCRxlUYxk6DbU96KbvInJzB4BvJd1Debz9kw6TpoB24EgIgHdgch3pK9ZribEmf+sZRJNVz40+WPNDlq3c/a202QPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":723274},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.2.1.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/snapshot":{"import":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"default":{"types":"./middleware/snapshot.d.ts","default":"./middleware/snapshot.js"},"require":{"types":"./middleware/snapshot.d.cts","default":"./middleware/snapshot.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","email":"himself65@outlook.com"},"_resolved":"/tmp/93c050eb73caaf14d0f4142bdb845483/llamaindex-workflow-core-1.2.1.tgz","_integrity":"sha512-bQ+wm+6R14IFLzgmIzeJVQ8SxOVqSZ+je+A/uYZernTt8L/FT8lhUTLIDkFc1F+0n40J0fgQOYUGKzXJiFtovg==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.3","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.2.1_1755674552280_0.7895861624865301","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@llamaindex/workflow-core","version":"1.3.0","license":"MIT","_id":"@llamaindex/workflow-core@1.3.0","maintainers":[{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"},{"name":"cle-does-things","email":"astraberte9@gmail.com"},{"name":"cheesyfishes","email":"logan@runllama.ai"},{"name":"disiok","email":"simonsdsuo@gmail.com"},{"name":"adrianlyjak","email":"adrian.lyjak@gmail.com"},{"name":"tuanacelik95","email":"tuanacelik95@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"b0b5aec22fe92dee09d555031ee8d7ac0c674250","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.3.0.tgz","fileCount":85,"integrity":"sha512-5HsIuDpeiXZUTsy5nJ+F7PUnStQdzEoEmc6/0IDlL4eqK3svBEitbOGlxCTPMYasoVni2XsEL1ox1QtVrtrzpw==","signatures":[{"sig":"MEQCICMJnkSZuivrESc73pe+0JaK3Nd/lwO7ZJ5ohX80eUYEAiAKIp8nPEJNRh5ZXzDkKAscIc13/rJaQ5zj5hUAvXko+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719347},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.3.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","email":"himself65@outlook.com"},"_resolved":"/tmp/479f6b02fa4c3d55b46e115b6ad13f8b/llamaindex-workflow-core-1.3.0.tgz","_integrity":"sha512-5HsIuDpeiXZUTsy5nJ+F7PUnStQdzEoEmc6/0IDlL4eqK3svBEitbOGlxCTPMYasoVni2XsEL1ox1QtVrtrzpw==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.3","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.24.2","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.3.0_1756281566928_0.5586919676261604","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@llamaindex/workflow-core","version":"1.3.1","license":"MIT","_id":"@llamaindex/workflow-core@1.3.1","maintainers":[{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"},{"name":"cle-does-things","email":"astraberte9@gmail.com"},{"name":"cheesyfishes","email":"logan@runllama.ai"},{"name":"disiok","email":"simonsdsuo@gmail.com"},{"name":"adrianlyjak","email":"adrian.lyjak@gmail.com"},{"name":"tuanacelik95","email":"tuanacelik95@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"6e7bdc0c748515996f21c763c7000328b5c3102c","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.3.1.tgz","fileCount":85,"integrity":"sha512-HahbaTMtKr+UUGVXpS17L61TNNvkOhv3uVEjZILa+20CdJALT1U087njeNEok6c5oOBsLTBlM+DgkudFQDkIUA==","signatures":[{"sig":"MEYCIQCItg7USbZ4wt4h1MzzACwbiqQAW4cD7Ak+m8quOikomQIhALdMqibNgp+/yuhVyC3Qk+JtIp2a9CauluozxOlYYRne","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719784},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.3.1.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui"},"_npmUser":{"name":"himself_65","email":"himself65@outlook.com"},"_resolved":"/tmp/fb08b4e35e2a98a9cb689f5aa9da0119/llamaindex-workflow-core-1.3.1.tgz","_integrity":"sha512-HahbaTMtKr+UUGVXpS17L61TNNvkOhv3uVEjZILa+20CdJALT1U087njeNEok6c5oOBsLTBlM+DgkudFQDkIUA==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.3","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.3.1_1756347660575_0.875487883055911","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@llamaindex/workflow-core","version":"1.3.2","license":"MIT","_id":"@llamaindex/workflow-core@1.3.2","maintainers":[{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"himself_65","email":"himself65@outlook.com"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"},{"name":"cle-does-things","email":"astraberte9@gmail.com"},{"name":"cheesyfishes","email":"logan@runllama.ai"},{"name":"disiok","email":"simonsdsuo@gmail.com"},{"name":"adrianlyjak","email":"adrian.lyjak@gmail.com"},{"name":"tuanacelik95","email":"tuanacelik95@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"5a4204b278b6f30241d2003a2f0c914467d7543e","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.3.2.tgz","fileCount":85,"integrity":"sha512-RlUJ2zvCySLdXiRc5UinGxRzhZ64puWwswyO36ucLQ8bjeRyY1PHm6ZZbmJcqI9XsJHF/23+guNh2b9f4zTRMQ==","signatures":[{"sig":"MEUCIQDoVgncAU2Whxa7CuSv96XeGTuLPuhrm6FZFH2jL09L9gIgbDadbCvlhud/Su/sYW0HrN4oBMFvACblYo2oe0DAi7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":849489},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.3.2.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui","lint:fix":"eslint . --fix","build:all":"npm run build && npm run build:docs","build:docs":"typedoc --options typedoc.json"},"_npmUser":{"name":"himself_65","email":"himself65@outlook.com"},"_resolved":"/tmp/70804515bb217004cccb8206654e97f9/llamaindex-workflow-core-1.3.2.tgz","_integrity":"sha512-RlUJ2zvCySLdXiRc5UinGxRzhZ64puWwswyO36ucLQ8bjeRyY1PHm6ZZbmJcqI9XsJHF/23+guNh2b9f4zTRMQ==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.3","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typedoc":"^0.28.7","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","typedoc-plugin-markdown":"^4.4.1","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.3.2_1756963224584_0.6007524578099719","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@llamaindex/workflow-core","version":"1.3.3","license":"MIT","_id":"@llamaindex/workflow-core@1.3.3","maintainers":[{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"octopoedi","email":"tyre77@gmail.com"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"},{"name":"cle-does-things","email":"astraberte9@gmail.com"},{"name":"cheesyfishes","email":"logan@runllama.ai"},{"name":"disiok","email":"simonsdsuo@gmail.com"},{"name":"adrianlyjak","email":"adrian.lyjak@gmail.com"},{"name":"tuanacelik95","email":"tuanacelik95@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"23b98d3ba733f9bb307257b8e8baa9b91a2de9c2","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.3.3.tgz","fileCount":85,"integrity":"sha512-WJIcD4K2suGbNkwU5CC70jKKrA5tARba42nMs8Pou1RGzmoxqg+K+b7vyLBmiDtImR8P40YLmkayCIRVQPBmsg==","signatures":[{"sig":"MEUCIQCUwHkhzq/dmJsjpUMGC0fksbRLtE1oLXvgmTQTaCw7EAIgFNIKOpLQd6gBQ2e5Cf7OHu4BBhxzo/gC0EXtjUattZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":894022},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.3.3.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui","build:all":"npm run build && npm run build:docs","build:docs":"typedoc --options typedoc.json"},"_npmUser":{"name":"cheesyfishes","email":"logan@runllama.ai"},"_resolved":"/tmp/8404a57827ff35384486f60cae451672/llamaindex-workflow-core-1.3.3.tgz","_integrity":"sha512-WJIcD4K2suGbNkwU5CC70jKKrA5tARba42nMs8Pou1RGzmoxqg+K+b7vyLBmiDtImR8P40YLmkayCIRVQPBmsg==","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.3","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typedoc":"^0.28.7","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","typedoc-plugin-markdown":"^4.4.1","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.3.3_1757568460755_0.8196924148904567","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@llamaindex/workflow-core","version":"1.3.4","license":"MIT","_id":"@llamaindex/workflow-core@1.3.4","maintainers":[{"name":"emanuelclferreira","email":"oi@manel.dev"},{"name":"marcusschiesser","email":"mail@marcusschiesser.de"},{"name":"preston-runllama","email":"preston@runllama.ai"},{"name":"zhaotai","email":"zhaotai5541@gmail.com"},{"name":"cle-does-things","email":"astraberte9@gmail.com"},{"name":"cheesyfishes","email":"logan@runllama.ai"},{"name":"disiok","email":"simonsdsuo@gmail.com"},{"name":"adrianlyjak","email":"adrian.lyjak@gmail.com"},{"name":"tuanacelik95","email":"tuanacelik95@gmail.com"}],"homepage":"https://github.com/run-llama/workflows-ts#readme","bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"dist":{"shasum":"cc0355f0c36e93a63f1dfa3e06410b4ac44749d9","tarball":"https://registry.npmjs.org/@llamaindex/workflow-core/-/workflow-core-1.3.4.tgz","fileCount":85,"integrity":"sha512-nDQ61VEYY5lTJFLHZzN7swdpbYrkoqLHKmct/KXF0wZN2Ih7sB4jk9eaVqWbd6zmkkOADT84I6eSd7hSY9kurg==","signatures":[{"sig":"MEQCIHXMEfd54cpIgItyT5oMgr+1iaJOE0RXgjxD3nR4hifvAiBGYHfTeaPuFN3svuvzSlcMb0PCs1LEza+M6a5ZVm/rVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":894425},"main":"dist/index.cjs","type":"module","_from":"file:llamaindex-workflow-core-1.3.4.tgz","types":"dist/index.d.ts","module":"dist/index.js","browser":"dist/browser/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./hono":{"types":"./dist/hono.d.ts","default":"./dist/hono.js"},"./next":{"types":"./dist/next.d.ts","default":"./dist/next.js"},"./util/zod":{"types":"./util/zod.d.ts","default":"./util/zod.js"},"./observable":{"types":"./dist/observable.d.ts","default":"./dist/observable.js"},"./stream/run":{"types":"./stream/run.d.ts","default":"./stream/run.js"},"./stream/find":{"types":"./stream/find.d.ts","default":"./stream/find.js"},"./stream/until":{"types":"./stream/until.d.ts","default":"./stream/until.js"},"./util/p-retry":{"types":"./util/p-retry.d.ts","default":"./util/p-retry.js"},"./async-context":{"import":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"browser":{"types":"./async-context/index.d.ts","default":"./async-context/index.browser.js"},"default":{"types":"./async-context/index.d.ts","default":"./async-context/index.js"},"require":{"types":"./async-context/index.d.cts","default":"./async-context/index.cjs"}},"./stream/filter":{"types":"./stream/filter.d.ts","default":"./stream/filter.js"},"./stream/consumer":{"types":"./stream/consumer.d.ts","default":"./stream/consumer.js"},"./middleware/state":{"import":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"default":{"types":"./middleware/state.d.ts","default":"./middleware/state.js"},"require":{"types":"./middleware/state.d.cts","default":"./middleware/state.cjs"}},"./middleware/validation":{"import":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"default":{"types":"./middleware/validation.d.ts","default":"./middleware/validation.js"},"require":{"types":"./middleware/validation.d.cts","default":"./middleware/validation.cjs"}},"./middleware/trace-events":{"import":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"default":{"types":"./middleware/trace-events.d.ts","default":"./middleware/trace-events.js"},"require":{"types":"./middleware/trace-events.d.cts","default":"./middleware/trace-events.cjs"}}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"rimraf dist interrupter middleware stream util async-context && tsdown","test:ui":"vitest --ui","build:all":"npm run build && npm run build:docs","build:docs":"typedoc --options typedoc.json"},"_npmUser":{"name":"cheesyfishes","email":"logan@runllama.ai"},"_resolved":"/tmp/de3b893c867a416b88d740c3e8e6070d/llamaindex-workflow-core-1.3.4.tgz","_integrity":"sha512-nDQ61VEYY5lTJFLHZzN7swdpbYrkoqLHKmct/KXF0wZN2Ih7sB4jk9eaVqWbd6zmkkOADT84I6eSd7hSY9kurg==","deprecated":"This package is deprecated. Please use LlamaAgents (Python Workflows) instead: https://developers.llamaindex.ai/python/llamaagents/overview/","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"_npmVersion":"10.9.4","description":"event-based workflow engine","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.8.3","next":"^15.3.4","rxjs":"^7.8.2","rimraf":"^6.0.1","tsdown":"^0.12.9","p-retry":"^6.2.1","typedoc":"^0.28.7","typescript":"^5.8.3","@types/node":"^24.0.4","stream-chain":"^3.4.0","simple-async-context":"^1.0.4","typedoc-plugin-markdown":"^4.4.1","@modelcontextprotocol/sdk":"^1.13.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.7.4","next":"^15.2.2","rxjs":"^7.8.2","p-retry":"^6.2.1","@modelcontextprotocol/sdk":"^1.7.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"next":{"optional":true},"rxjs":{"optional":true},"p-retry":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow-core_1.3.4_1773091827077_0.9869850194317871","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-06-25T11:58:16.195Z","modified":"2026-06-05T16:29:23.255Z","0.4.5":"2025-06-25T11:58:16.551Z","0.4.6":"2025-06-25T22:07:46.470Z","1.0.0":"2025-06-25T22:35:55.806Z","1.1.0":"2025-07-11T17:36:58.079Z","1.2.0":"2025-07-22T05:23:13.801Z","1.2.1":"2025-08-20T07:22:32.462Z","1.3.0":"2025-08-27T07:59:27.181Z","1.3.1":"2025-08-28T02:21:00.827Z","1.3.2":"2025-09-04T05:20:24.811Z","1.3.3":"2025-09-11T05:27:41.008Z","1.3.4":"2026-03-09T21:30:27.353Z"},"bugs":{"url":"https://github.com/run-llama/workflows-ts/issues"},"license":"MIT","homepage":"https://github.com/run-llama/workflows-ts#readme","repository":{"url":"git+https://github.com/run-llama/workflows-ts.git","type":"git"},"description":"event-based workflow engine","maintainers":[{"email":"oi@manel.dev","name":"emanuelclferreira"},{"email":"preston@runllama.ai","name":"preston-runllama"},{"email":"ypark@protonmail.com","name":"yongpark"},{"email":"zhaotai5541@gmail.com","name":"zhaotai"},{"email":"astraberte9@gmail.com","name":"cle-does-things"},{"email":"logan@runllama.ai","name":"cheesyfishes"},{"email":"simonsdsuo@gmail.com","name":"disiok"},{"email":"adrian.lyjak@gmail.com","name":"adrianlyjak"}],"readme":"# LlamaIndex Workflows TS\n\n> **⚠️ DEPRECATED**: This package is no longer maintained. Please use [LlamaAgents (Python Workflows)](https://developers.llamaindex.ai/python/llamaagents/overview/) instead.\n\n🌊 is a simple, lightweight workflow engine, in TypeScript.\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz_small.svg)](https://stackblitz.com/github/run-llama/workflows-ts/tree/main/demo/browser?file=src%2FApp.tsx)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/run-llama/workflows-ts/test.yml?branch=main&style=flat&colorA=000000&colorB=45dff8)](https://github.com/run-llama/workflows-ts/actions/workflows/test.yml?query=branch%3Amain)\n[![Bundle Size](https://img.shields.io/bundlephobia/minzip/@llamaindex/workflow-core?style=flat&colorA=000000&colorB=45dff8)](https://bundlephobia.com/result?p=@llamaindex/workflow-core)\n\n- Minimal core API (<=2kb)\n- 100% Type safe\n- Event-driven, stream oriented programming\n- Support multiple JS runtime/framework\n\n## Usage\n\n```shell\nnpm i @llamaindex/workflow-core\n\nyarn add @llamaindex/workflow-core\n\npnpm add @llamaindex/workflow-core\n\nbun add @llamaindex/workflow-core\n\ndeno add npm:@llamaindex/workflow-core\n```\n\n### Demos\n\nFor examples, check out the [demo folder](./demo).\n\n### First, define events\n\n```ts\nimport { workflowEvent } from \"@llamaindex/workflow-core\";\n\nconst startEvent = workflowEvent<string>();\nconst stopEvent = workflowEvent<1 | -1>();\n```\n\n### Connect events with workflow\n\n```ts\nimport { createWorkflow } from \"@llamaindex/workflow-core\";\n\nconst convertEvent = workflowEvent();\n\nconst workflow = createWorkflow();\n\nworkflow.handle([startEvent], (start) => {\n  return convertEvent.with(Number.parseInt(start.data, 10));\n});\nworkflow.handle([convertEvent], (convert) => {\n  return stopEvent.with(convert.data > 0 ? 1 : -1);\n});\n```\n\n### Trigger workflow\n\n```ts\nimport { pipeline } from \"node:stream/promises\";\n\nconst { stream, sendEvent } = workflow.createContext();\nsendEvent(startEvent.with());\nconst result = await pipeline(stream, async function (source) {\n  for await (const event of source) {\n    if (stopEvent.include(event)) {\n      return \"stop received!\";\n    }\n  }\n});\nconsole.log(result); // stop received!\n// or\nconst allEvents = await stream.until(stopEvent).toArray();\n```\n\n### Helper Functions for Common Tasks\n\nThere are helper functions to make working with workflows even simpler:\n\n```ts\nimport {\n  runWorkflow,\n  runAndCollect,\n  runWorkflowWithFilter,\n} from \"@llamaindex/workflow-core/stream/run\";\n\n// Run workflow and get final result\nconst result = await runWorkflow(workflow, startEvent.with(\"42\"), stopEvent);\n\n// Run workflow and collect all events\nconst allEvents = await runAndCollect(\n  workflow,\n  startEvent.with(\"42\"),\n  stopEvent,\n);\n```\n\n### Fan-out (Parallelism)\n\nBy default, we provide a simple fan-out utility to run multiple workflows in parallel\n\n- `context.sendEvent` will emit a new event to current workflow\n- `context.stream` will return a stream of events emitted by the sub-workflow\n\n```ts\nlet condition = false;\nworkflow.handle([startEvent], async (context, start) => {\n  const { sendEvent, stream } = context;\n  for (let i = 0; i < 10; i++) {\n    sendEvent(convertEvent.with(i));\n  }\n  // You define the condition to stop the workflow\n  const results = await stream\n    .until(() => condition)\n    .filter(convertStopEvent)\n    .toArray();\n  console.log(results.length); // 10\n  return stopEvent.with();\n});\n\nworkflow.handle([convertEvent], (convert) => {\n  if (convert.data === 9) {\n    condition = true;\n  }\n  return convertStopEvent.with(/* ... */);\n});\n```\n\n### With RxJS, or any stream API\n\nWorkflow is event-driven, you can use any stream API to handle the workflow like `rxjs`\n\n```ts\nimport { from, pipe } from \"rxjs\";\n\nconst { stream, sendEvent } = workflow.createContext();\n\nfrom(stream)\n  .pipe(filter((ev) => eventSource(ev) === messageEvent))\n  .subscribe((ev) => {\n    console.log(ev.data);\n  });\n\nsendEvent(fileParseWorkflow.startEvent(directory));\n```\n\n### Connect with Server endpoint\n\nWorkflow can be used as middleware in any server framework, like `express`, `hono`, `fastify`, etc.\n\n```ts\nimport { Hono } from \"hono\";\nimport { serve } from \"@hono/node-server\";\nimport { createHonoHandler } from \"@llamaindex/workflow-core/interrupter/hono\";\nimport {\n  agentWorkflow,\n  startEvent,\n  stopEvent,\n} from \"../workflows/tool-call-agent.js\";\n\nconst app = new Hono();\n\napp.post(\n  \"/workflow\",\n  createHonoHandler(\n    agentWorkflow,\n    async (ctx) => startEvent(await ctx.req.text()),\n    stopEvent,\n  ),\n);\n\nserve(app, ({ port }) => {\n  console.log(`Server started at http://localhost:${port}`);\n});\n```\n\n### Error Handling\n\nYou can use `signal` in the context parameter to handle error\n\n```ts\nworkflow.handle([convertEvent], (context) => {\n  const { signal } = context;\n\n  signal.onabort = () => {\n    console.error(\"error in convert event:\", abort.reason);\n  };\n});\n```\n\n### Context Parameter\n\nWorkflow handlers receive the context as the first parameter, providing access to `sendEvent`, `stream`, and `signal`.\n\n```ts\nworkflow.handle([startEvent], async (context) => {\n  const { sendEvent, stream, signal } = context;\n  // Use context properties directly\n  sendEvent(processEvent.with());\n});\n```\n\n## Middleware\n\n### `withState`\n\nAdding a `state` property to the workflow context, which returns a state object, each state is linked to the workflow\ncontext.\n\n```ts\nimport { createStatefulMiddleware } from \"@llamaindex/workflow-core/middleware/state\";\n\nconst { withState } = createStatefulMiddleware(() => ({\n  pendingTasks: new Set<Promise<unknown>>(),\n}));\n\nconst workflow = withState(createWorkflow());\n\nworkflow.handle([startEvent], (context) => {\n  const { state } = context;\n  state.pendingTasks.add(\n    new Promise((resolve) => {\n      setTimeout(() => {\n        resolve();\n      }, 100);\n    }),\n  );\n});\n\nconst { state } = workflow.createContext();\n```\n\nYou can also create a state with input:\n\n```ts\nconst { withState } = createStatefulMiddleware((input: { id: string }) => ({\n  id: input.id,\n}));\n\nconst workflow = withState(createWorkflow());\nconst { state } = workflow.createContext({ id: \"1\" });\n```\n\n`withState` also supports snapshot, you can use `snapshot` to save the state of the workflow, and `resume` to restore the state of the workflow.\n\n```ts\nconst { snapshot, resume } = workflow.createContext();\n\n// create snapshot\nconst snapshotData = await snapshot();\n\n// resume workflow from snapshot\nconst { stream, sendEvent } = workflow.resume(snapshotData);\nsendEvent(humanResponseEvent.with(\"hello\"));\n```\n\n### `withValidation`\n\nMake first parameter of `handler` to be `sendEvent` and its type safe and runtime safe\nwhen you create a workflow using `withValidation`.\n\n```ts\n// before:\nworkflow.handle([startEvent], (start) => {});\n// after:\nworkflow.handle([startEvent], (sendEvent, start) => {});\n```\n\n```ts\nimport { withValidation } from \"@llamaindex/workflow-core/middleware/validation\";\n\nconst startEvent = workflowEvent<void, \"start\">();\nconst disallowedEvent = workflowEvent<void, \"disallowed\">({\n  debugLabel: \"disallowed\",\n});\nconst parseEvent = workflowEvent<string, \"parse\">();\nconst stopEvent = workflowEvent<number, \"stop\">();\nconst workflow = withValidation(createWorkflow(), [\n  [[startEvent], [stopEvent]],\n  [[startEvent], [parseEvent]],\n]);\n\nworkflow.strictHandle([startEvent], (sendEvent, start) => {\n  sendEvent(\n    disallowedEvent.with(), // <-- ❌ Type Check Failed, Runtime Error\n  );\n  sendEvent(parseEvent.with(\"\")); // <-- ✅\n  sendEvent(stopEvent.with(1)); // <-- ✅\n});\n```\n\n### `withTraceEvents`\n\nAdds tracing capabilities to your workflow, allowing you to monitor/decorate handler and debug event flows easily.\n\nWhen enabled,\nit collects events based on the directed graph of the runtime and provide lifecycle hooks for each handler.\n\n```ts\nimport {\n  withTraceEvents,\n  runOnce,\n} from \"@llamaindex/workflow-core/middleware/trace-events\";\n\nconst workflow = withTraceEvents(createWorkflow());\n\nworkflow.handle(\n  [messageEvent],\n  runOnce(() => {\n    console.log(\"This message handler will only run once\");\n  }),\n);\n\nworkflow.handle([startEvent], (context) => {\n  context.sendEvent(messageEvent.with());\n  context.sendEvent(messageEvent.with());\n});\n\n{\n  const { sendEvent } = workflow.createContext();\n  sendEvent(startEvent.with());\n  sendEvent(messageEvent.with());\n  // This message handler will only run once!\n}\n{\n  const { sendEvent } = workflow.createContext();\n  // For each new context, the decorator is isolated.\n  sendEvent(startEvent.with());\n  sendEvent(messageEvent.with());\n  // This message handler will only run once!\n}\n```\n\n#### `workflow.substream(target, stream)`\n\nYou can use `substream` to create a substream from the workflow context,\nwhich will only emit events that are emitted by the target event.\n\n```ts\nconst ev = startEvent.with();\nconst { sendEvent, stream } = workflow.createContext();\nsendEvent(ev);\nsendEvent(messageEvent.with()); // <- this will not be included in the substream\nconst substream = workflow.substream(ev, stream);\n```\n\nThis is helpful when you have async requests, and you want to track the events that are emitted by the target event.\n\nFor example:\n\n- Parallel requests\n\n  <details>\n    <summary>without substream</summary>\n\n  ```ts\n  workflow.handle([startEvent], async (context, { data: uuid }) => {\n    const { sendEvent, stream } = context;\n    const ev = networkRequestEvent.with(uuid);\n    sendEvent(networkRequestEvent);\n    // you need bypass uuid to all events to get the correct response\n    const responses = await collect(\n      filter(workflow.substream(ev, stream), (ev) => ev.data === uuid),\n    );\n  });\n\n  sendEvent(startEvent.with(crypto.randomUUID()));\n  sendEvent(startEvent.with(crypto.randomUUID()));\n  ```\n\n  </details>\n\n  ```ts\n  workflow.handle([startEvent], async (context) => {\n    const { sendEvent, stream } = context;\n    const ev = networkRequestEvent.with();\n    sendEvent(networkRequestEvent);\n    const responses = await collect(workflow.substream(ev, stream));\n  });\n\n  sendEvent(startEvent.with());\n  sendEvent(startEvent.with());\n  ```\n\n#### `createHandlerDecorator`\n\nYou can create your own handler decorator to modify the behavior of the handler.\n\n```ts\nimport { createHandlerDecorator } from \"@llamaindex/workflow-core/middleware/trace-events\";\n\nconst noop: (...args: any[]) => void = function noop() {};\nexport const runOnce = createHandlerDecorator({\n  debugLabel: \"onceHook\",\n  getInitialValue: () => false,\n  onBeforeHandler: (handler, handlerContext, tracked) =>\n    tracked ? noop : handler,\n  onAfterHandler: () => true,\n});\n```\n\n#### `HandlerContext`\n\nThe `HandlerContext` includes the runtime information of the handler in the directed graph of the workflow.\n\n```ts\ntype BaseHandlerContext = {\n  // ... some other properties are hidden\n  handler: Handler<WorkflowEvent<any>[], any>;\n  inputEvents: WorkflowEvent<any>[];\n  // events data that are accepted by the handler\n  inputs: WorkflowEventData<any>[];\n  // events data that are emitted by the handler\n  outputs: WorkflowEventData<any>[];\n\n  //#region linked list data structure\n  prev: HandlerContext;\n  next: Set<HandlerContext>;\n  root: HandlerContext;\n  //#endregion\n};\n\ntype SyncHandlerContext = BaseHandlerContext & {\n  async: false;\n  pending: null;\n};\n\ntype AsyncHandlerContext = BaseHandlerContext & {\n  async: true;\n  pending: Promise<WorkflowEventData<any> | void> | null;\n};\n\ntype HandlerContext = AsyncHandlerContext | SyncHandlerContext;\n```\n\nFor example, when you send two `startEvent` events, and send `messageEvent` twice (once in the handler and once in the global),\nthe `HandlerContext` from root to leaf is:\n\n```ts\nlet once = false;\nworkflow.handle([startEvent], (context) => {\n  const { sendEvent } = context;\n  if (once) {\n    return;\n  }\n  once = true;\n  sendEvent(messageEvent.with());\n});\nconst { sendEvent } = workflow.createContext();\nsendEvent(startEvent.with());\nsendEvent(startEvent.with());\nsendEvent(messageEvent.with());\n```\n\n```\nrootHandlerContext(0)\n  ├── startEventContext(0)\n  │   └── messageEventContext(0)\n  ├── startEventContext(1)\n  └── messageEventContext(1)\n```\n\nYou can use any directed graph library to visualize the directed graph of the workflow.\n\n## Related Packages\n\n- [Python Workflows](https://github.com/run-llama/workflows-py)\n","readmeFilename":"README.md"}