@upstash/workflow
Version:
Durable, Reliable and Performant Serverless Functions
37 lines (34 loc) • 1.78 kB
TypeScript
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 };