import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson'; import type { PipelineString } from '../pipeline/PipelineString'; /** * Compile pipeline from string (markdown) format to JSON format synchronously * * Note: There are 3 similar functions: * - `pipelineStringToJson` **(preferred)** - which propperly compiles the promptbook and use embedding for external knowledge * - `pipelineStringToJsonSync` - use only if you need to compile promptbook synchronously and it contains NO external knowledge * - `preparePipeline` - just one step in the compilation process * * Note: This function does not validate logic of the pipeline only the parsing * Note: This function acts as compilation process * * @param pipelineString {Promptbook} in string markdown format (.book.md) * @returns {Promptbook} compiled in JSON format (.book.json) * @throws {ParseError} if the promptbook string is not valid * @public exported from `@promptbook/core` */ export declare function pipelineStringToJsonSync(pipelineString: PipelineString): PipelineJson; /** * TODO: [main] !!!! Warn if used only sync version * TODO: [🚞] Report here line/column of error * TODO: Use spaceTrim more effectively * TODO: [🧠] Parameter flags - isInput, isOutput, isInternal * TODO: [🥞] Not optimal parsing because `splitMarkdownIntoSections` is executed twice with same string, once through `flattenMarkdown` and second directly here * TODO: [♈] Probbably move expectations from tasks to parameters * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools * TODO: [🍙] Make some standard order of json properties */