UNPKG

@upstash/workflow

Version:

Durable, Reliable and Performant Serverless Functions

37 lines (34 loc) 1.78 kB
import { Context } from 'hono'; import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.js'; import { Variables } from 'hono/types'; import { s as serveManyBase } from './serve-many-CXqQP3RI.js'; import '@upstash/qstash'; import 'zod'; import 'ai'; import '@ai-sdk/openai'; type WorkflowBindings = { QSTASH_TOKEN: string; QSTASH_URL?: string; QSTASH_CURRENT_SIGNING_KEY?: string; QSTASH_NEXT_SIGNING_KEY?: string; UPSTASH_WORKFLOW_URL?: string; }; /** * Serve method to serve a Upstash Workflow in a Hono project * * See for options https://upstash.com/docs/qstash/workflows/basics/serve * * @param routeFunction workflow function * @param options workflow options * @returns */ declare const serve: <TInitialPayload = unknown, TBindings extends WorkflowBindings = WorkflowBindings, TVariables extends Variables = object, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>) => ((context: Context<{ Bindings: TBindings; Variables: TVariables; }>) => Promise<Response>); declare const createWorkflow: <TInitialPayload = unknown, TResult = unknown, TBindings extends WorkflowBindings = WorkflowBindings, TVariables extends Variables = object>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult>; declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"], options?: Parameters<typeof serveManyBase>[0]["options"]) => (context: Context<{ Bindings: WorkflowBindings; Variables: object; }, any, {}>) => Promise<any>; export { type WorkflowBindings, createWorkflow, serve, serveMany };