import type { ExecutionTools } from '../execution/ExecutionTools'; import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson'; import type { TaskJson } from '../pipeline/PipelineJson/TaskJson'; import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions'; type PrepareTaskInput = Pick & { /** * The number of knowledge pieces available for the pipeline. */ readonly knowledgePiecesCount: number; }; type PreparedTasks = { /** * The sequence of tasks after preparation. */ readonly tasksPrepared: ReadonlyArray; }; /** * Prepares tasks by adding knowledge to the prompt and ensuring all necessary parameters are included. * * @param tasks Sequence of tasks that are chained together to form a pipeline * @returns A promise that resolves to the prepared tasks. * * @private internal utility of `preparePipeline` */ export declare function prepareTasks(pipeline: PrepareTaskInput, tools: Pick, options: PrepareAndScrapeOptions): Promise; export {}; /** * TODO: [😂] Adding knowledge should be convert to async high-level abstractions, similar thing with expectations to sync high-level abstractions * TODO: [🧠] Add context to each task (if missing) * TODO: [🧠] What is better name `prepareTask` or `prepareTaskAndParameters` * TODO: [♨][main] !!3 Prepare index the examples and maybe tasks * TODO: Write tests for `preparePipeline` * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools */