/** * @copyright * Copyright 2025 Steven Roussey * All Rights Reserved */ import type { CachePolicy, IExecuteContext, StreamEvent, TaskConfig } from "@workglow/task-graph"; import { CreateWorkflow, Task } from "@workglow/task-graph"; import type { DataPortSchema } from "@workglow/util/schema"; export type OutputTaskInput = Record; export type OutputTaskOutput = Record; export type OutputTaskConfig = TaskConfig; export declare class OutputTask extends Task { static type: string; static category: string; static title: string; static description: string; static hasDynamicSchemas: boolean; static cachePolicy: CachePolicy; static isGraphOutput: boolean; static isPassthrough: boolean; static inputSchema(): DataPortSchema; static outputSchema(): DataPortSchema; inputSchema(): DataPortSchema; outputSchema(): DataPortSchema; execute(input: OutputTaskInput, _context: IExecuteContext): Promise; executePreview(input: OutputTaskInput): Promise; /** * Stream pass-through: re-yields all events from upstream input streams * so downstream consumers see them with near-zero latency, then emits * a finish event with the materialized input as data. */ executeStream(input: OutputTaskInput, context: IExecuteContext): AsyncIterable>; } declare module "@workglow/task-graph" { interface Workflow { output: CreateWorkflow; } }