{"version":3,"file":"graph.d.cts","names":["RunnableInterface","RunnableIOSchema","Node","Edge","Graph","Record","__types_js0","RunnableConfig","Blob","Promise"],"sources":["../../src/runnables/graph.d.ts"],"sourcesContent":["import type { RunnableInterface, RunnableIOSchema, Node, Edge } from \"./types.js\";\nexport { Node, Edge };\nexport declare class Graph {\n    nodes: Record<string, Node>;\n    edges: Edge[];\n    constructor(params?: {\n        nodes: Record<string, Node>;\n        edges: Edge[];\n    });\n    // Convert the graph to a JSON-serializable format.\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    toJSON(): Record<string, any>;\n    addNode(data: RunnableInterface | RunnableIOSchema, id?: string, \n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    metadata?: Record<string, any>): Node;\n    removeNode(node: Node): void;\n    addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;\n    firstNode(): Node | undefined;\n    lastNode(): Node | undefined;\n    /**\n     * Add all nodes and edges from another graph.\n     * Note this doesn't check for duplicates, nor does it connect the graphs.\n     */\n    extend(graph: Graph, prefix?: string): ({\n        id: string;\n        data: RunnableIOSchema | RunnableInterface<any, any, import(\"./types.js\").RunnableConfig<Record<string, any>>>;\n    } | undefined)[];\n    trimFirstNode(): void;\n    trimLastNode(): void;\n    /**\n     * Return a new graph with all nodes re-identified,\n     * using their unique, readable names where possible.\n     */\n    reid(): Graph;\n    drawMermaid(params?: {\n        withStyles?: boolean;\n        curveStyle?: string;\n        nodeColors?: Record<string, string>;\n        wrapLabelNWords?: number;\n    }): string;\n    drawMermaidPng(params?: {\n        withStyles?: boolean;\n        curveStyle?: string;\n        nodeColors?: Record<string, string>;\n        wrapLabelNWords?: number;\n        backgroundColor?: string;\n    }): Promise<Blob>;\n}\n"],"mappings":";;;cAEqBI,KAAAA;EAAAA,KAAAA,EACVC,MADe,CAAA,MAAA,EACAH,IADA,CAAA;EAAA,KAAA,EAEfC,IAFe,EAAA;EAAA,WACAD,CAAAA,MACX,CADWA,EAAAA;IAAfG,KAAAA,EAGIA,MAHJA,CAAAA,MAAAA,EAGmBH,IAHnBG,CAAAA;IACAF,KAAAA,EAGIA,IAHJA,EAAAA;EAAI,CAAA;EAEmB;EAAb;EACF,MAILE,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAAM,OACFL,CAAAA,IAAAA,EAAAA,iBAAAA,GAAoBC,gBAApBD,EAAAA,EAAAA,CAAAA,EAAAA,MAAAA;EAAiB;EAAmB,QAEvCK,CAAAA,EAAAA,MAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,EAAsBH,IAAtBG;EAAM,UAAgBH,CAAAA,IAAAA,EAChBA,IADgBA,CAAAA,EAAAA,IAAAA;EAAI,OACpBA,CAAAA,MAAAA,EACDA,IADCA,EAAAA,MAAAA,EACaA,IADbA,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,WAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAC0DC,IAD1DD;EAAI,SACLA,CAAAA,CAAAA,EACHA,IADGA,GAAAA,SAAAA;EAAI,QAAUA,CAAAA,CAAAA,EAElBA,IAFkBA,GAAAA,SAAAA;EAAI;;;;EAOf,MAETD,CAAAA,KAAAA,EAFIG,KAEJH,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,CAAAA;IAAmFI,EAAAA,EAAAA,MAAAA;IAAM,IAAA,EAAzFJ,gBAAyF,GAAtED,iBAAsE,CAAA,GAAA,EAAA,GAAA,EAAA,cAAA,CAANK,MAAM,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA;EAAP,CAAA,GAA/DL,SAAAA,CAAAA,EAAAA;EAAiB,aAQtCI,CAAAA,CAAAA,EAAAA,IAAAA;EAAK,YAIIC,CAAAA,CAAAA,EAAAA,IAAAA;EAAM;;;AASZ;UAbHD;;;;iBAISC;;;;;;iBAMAA;;;MAGbI,QAAQD"}