@upstash/workflow
Version:
Durable, Reliable and Performant Serverless Functions
44 lines (41 loc) • 1.78 kB
text/typescript
import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.mjs';
import { s as serveManyBase } from './serve-many-BNusWYgt.mjs';
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;
};
/**
* Cloudflare Pages Function arguments
*/
type PagesHandlerArgs = [{
request: Request;
env: Record<string, string | undefined>;
}];
/**
* Cloudflare Worker arguments
*/
type WorkersHandlerArgs = [Request, Record<string, string | undefined>];
/**
* Serve method to serve a Upstash Workflow in a Cloudflare 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, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>) => {
fetch: (...args: PagesHandlerArgs | WorkersHandlerArgs) => Promise<Response>;
};
declare const createWorkflow: <TInitialPayload, TResult>(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"]) => {
fetch: (...params: PagesHandlerArgs | WorkersHandlerArgs) => Promise<any>;
};
export { type PagesHandlerArgs, type WorkersHandlerArgs, type WorkflowBindings, createWorkflow, serve, serveMany };