tessl install tessl/npm-lightdash--common@0.2231.5Shared TypeScript library for the Lightdash platform containing common types, utilities, and business logic for analytics workflows
Agent Success
Agent success rate when using this tile
72%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.09x
Baseline
Agent success rate without this tile
66%
Build a TypeScript utility that processes dbt manifest files to extract and analyze model metadata. dbt (data build tool) generates manifest.json files that contain metadata about all models, columns, and their relationships in a data transformation project.
Create a utility with three main functions:
The utility should validate input and provide clear error messages for invalid or malformed files.
@generates
/**
* Parses a dbt manifest file and extracts model metadata
* @param manifestPath - Path to the manifest.json file
* @returns Parsed manifest data with models and metadata
*/
export function parseManifest(manifestPath: string): ManifestData;
/**
* Extracts model information from parsed manifest data
* @param manifestData - Parsed manifest data
* @returns Array of model metadata
*/
export function extractModels(manifestData: ManifestData): ModelInfo[];
/**
* Generates a summary report from model information
* @param models - Array of model metadata
* @returns Summary report object
*/
export function generateSummary(models: ModelInfo[]): SummaryReport;
export interface ManifestData {
nodes: Record<string, any>;
metadata: any;
}
export interface ModelInfo {
name: string;
schema: string;
database: string;
columns: ColumnInfo[];
}
export interface ColumnInfo {
name: string;
dataType: string;
description: string;
}
export interface SummaryReport {
totalModels: number;
modelsBySchema: Record<string, string[]>;
columnCounts: Record<string, number>;
modelsWithMissingDescriptions: string[];
}Provides dbt manifest parsing and type definitions for working with dbt project structures.
@satisfied-by
docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20