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%
{
"context": "This criteria evaluates how well the engineer uses @lightdash/common's parameter handling utilities to extract parameter references from SQL strings and validate parameter names. The focus is on correct usage of regex patterns, parameter extraction functions, and validation utilities provided by the package.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Regex Pattern Usage",
"description": "Uses a regex pattern that correctly matches the parameter syntax `${lightdash.parameters.param_name}` or `${ld.parameters.param_name}` with support for both project-level (single name) and model-level (name.name) parameters. The pattern should use capture groups to extract the parameter name.",
"max_score": 20
},
{
"name": "Parameter Extraction Logic",
"description": "Implements getParameterReferences to extract all parameter references from SQL strings using the regex pattern. The function should use String.match() or RegExp.exec() to find matches and extract parameter names from capture groups.",
"max_score": 20
},
{
"name": "Deduplication Implementation",
"description": "Deduplicates parameter names using Set or equivalent mechanism to ensure each parameter name appears only once in the returned array, even if referenced multiple times in the SQL.",
"max_score": 15
},
{
"name": "Empty Result Handling",
"description": "Correctly handles cases where no parameters are found by returning an empty array, checking for null/undefined match results before processing.",
"max_score": 10
},
{
"name": "Validation Pattern",
"description": "Uses a regex pattern for validateParameterNames that accepts alphanumeric characters, underscores, and hyphens: /^[a-zA-Z0-9_-]+$/. The pattern should reject dots, spaces, and other special characters.",
"max_score": 15
},
{
"name": "Validation Logic",
"description": "Implements validateParameterNames to filter parameter names against the validation pattern using RegExp.test() or String.match(). Returns both the isInvalid boolean flag and the array of invalid parameter names.",
"max_score": 15
},
{
"name": "Edge Case Handling",
"description": "Handles edge cases including undefined/null parameters object in validateParameterNames (returns isInvalid: false, invalidParameters: []), and empty objects for both functions. Uses optional chaining or explicit checks.",
"max_score": 5
}
]
}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