Open
Description
//#file shared.ts
import { workflowEvent } from '@llama-flow/core'
export const startEvent = workflowEvent()
export const stopEvent = workflowEvent()
// this is in Node.js environment
import { createWorkflow } from '@llama-flow/core'
import { startEvent, stopEvent } from './shared'
const workflow = createWorkflow()
workflow.handle([startEvent], () => {
getContext().sendEvent(stopEvent.with(...))
})
import { createHonoHandler } from '@llama-flow/core/hono'
const app = new Hono()
app.post('/chat', ctx => createHonoHandler(workflow, startEvent.with(await ctx.req.json()), stopEvent))
serve(app)
import { stopEvent } from './shared'
import { handleWorkflow } from '@llama-flow/core/browser'
// this is React in browser
const call = handleWorkflow('/chat')
const App = () => {
useEffect(() => {
call().then(stream => {
stream.on([stopEvent], ({ data }) => console.log(data))
})
}, [])
return ...
}
Metadata
Metadata
Assignees
Labels
No labels