Implementation:Ucbepic Docetl UseRestorePipeline
| Knowledge Sources | |
|---|---|
| Domains | Frontend, React_UI |
| Last Updated | 2026-02-08 00:00 GMT |
Overview
Concrete tool for the custom React hook that restores pipeline configurations from YAML files and data strings.
Description
The useRestorePipeline hook provides functions to restore a complete pipeline state from YAML configuration files or strings. restoreFromYAML reads a YAML file, parses it, and reconstructs operations (converting schema dictionaries to SchemaItem arrays via schemaDictToItemSet), datasets, default model, and system prompt settings. restoreFromData accepts a YAML string directly for programmatic restoration (used by tutorials and natural language pipeline generation). Both methods handle the full range of operation types including parallel_map with multiple prompts.
Usage
Used by TutorialsDialog, NaturalLanguagePipelineDialog, and the file management system to restore saved pipeline configurations.
Code Reference
Source Location
- Repository: Ucbepic_Docetl
- File: website/src/hooks/useRestorePipeline.ts
- Lines: 1-282
Signature
interface RestorePipelineConfig {
setOperations: (operations: Operation[]) => void;
setPipelineName: (name: string) => void;
setSampleSize: (size: number | null) => void;
setDefaultModel: (model: string) => void;
setFiles: (files: File[]) => void;
setCurrentFile: (file: File | null) => void;
setSystemPrompt: (prompt: { datasetDescription: string | null; persona: string | null }) => void;
files: File[];
setOutput: (output: OutputType | null) => void;
}
export const useRestorePipeline = (config: RestorePipelineConfig): {
restoreFromYAML: (file: File) => Promise<void>;
restoreFromData: (yamlString: string) => Promise<void>;
}
Import
import { useRestorePipeline } from "@/hooks/useRestorePipeline";
I/O Contract
Inputs (Props)
| Name | Type | Required | Description |
|---|---|---|---|
| setOperations | function | Yes | Setter for pipeline operations array |
| setPipelineName | function | Yes | Setter for pipeline name |
| setSampleSize | function | Yes | Setter for sample size |
| setDefaultModel | function | Yes | Setter for default model |
| setFiles | function | Yes | Setter for files list |
| setCurrentFile | function | Yes | Setter for current active file |
| setSystemPrompt | function | Yes | Setter for system prompt config |
| files | File[] | Yes | Current files list for reference |
| setOutput | function | Yes | Setter for output config |
Outputs
| Name | Type | Description |
|---|---|---|
| restoreFromYAML | function | Restore pipeline from a YAML File object |
| restoreFromData | function | Restore pipeline from a YAML string |
Usage Examples
const { restoreFromYAML, restoreFromData } = useRestorePipeline({
setOperations,
setPipelineName,
setSampleSize,
setDefaultModel,
setFiles,
setCurrentFile,
setSystemPrompt,
files,
setOutput,
});
// Restore from file:
await restoreFromYAML(yamlFile);
// Restore from string:
await restoreFromData(yamlString);