mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-20 02:53:50 -04:00
34 lines
721 B
TypeScript
34 lines
721 B
TypeScript
import { StartEvent, StopEvent, Workflow } from "@llamaindex/workflow";
|
|
|
|
type ContextData = {
|
|
counter: number;
|
|
};
|
|
|
|
const contextData: ContextData = { counter: 0 };
|
|
|
|
const workflow = new Workflow<ContextData, string, string>();
|
|
|
|
workflow.addStep(
|
|
{
|
|
inputs: [StartEvent<string>],
|
|
outputs: [StopEvent<string>],
|
|
},
|
|
async (context, startEvent) => {
|
|
const input = startEvent.data;
|
|
context.data.counter++;
|
|
return new StopEvent(`Hello, ${input}!`);
|
|
},
|
|
);
|
|
|
|
{
|
|
const ret = await workflow.run("Alex", contextData);
|
|
console.log(ret.data); // Hello, Alex!
|
|
}
|
|
|
|
{
|
|
const ret = await workflow.run("World", contextData);
|
|
console.log(ret.data); // Hello, World!
|
|
}
|
|
|
|
console.log(contextData.counter); // 2
|